1. resultClass
myBatis에서는 resultType로 사용
<select id="resultClassID" resultClass="java.util.HashMap">
select *
from emp
</select>
쿼리문의 결과값을 담아줄 타입이다
속성값으로 자바 클래스의 전체경로를 작성하면 된다. vo가 될수도 있다.
그러면 알아서 값이 들어간다.
2. resultMap
resultClass와 비슷하지만 resultMap은 개발자가 담아줄 속성값을 먼저 지정한 후에 그곳에 값을 매핑해주는 형식이다.
resultMap를 사용하기 위해서는 먼저 resultMap을 만들어 줘야 한다.
<resultMap id="myresultMap" class="java.util.HashMap>
<result column="DB컬럼명" property="값을 담아줄 변수명"/>
<result column="DB컬럼명" property="값을 담아줄 변수명"/>
</resultMap>
<select id="resultMapID" resultMap="MyResultMap">
select *
from emp
</select>
3. parameterClass
주로 insert, update, delete 에서 많이 사용된다.
쿼리에서 사용되는 파라미터 값을 #파라미터명#으로 지정해준다.
<delete id="deleteIbatis" parameterClass="java.Util.HashMap">
delete from emp where name = #name#
</delete>
--iterate 사용법
자바에서 배열로 여러 파라미터를 보낸 후 받아줄 때 사용한다.
자바에서 map에 담아준 후 parameterClass를 java.Util.HashMap으로 지정해준다.
그리고 자바에서 map에 값을 넣어줄때 지정한 이름을 property에 꼭 명시 해준 후 사용해야 한다.
prepend : 파라미터가 넘어오기 전 쿼리 ex) IN, AND ...
conjuction : 배열을 구분해 주는 것
<iterate prepend="IN" open="(" close=")" conjuction="," property="보내는 값" >
#보내는 값[]#
</iterate>
4. namespace
namespace를 지정해주면 자바에서 지정된 namespace명으로 바로 불러올 수 있다.
ex)
-sql.xml
<sqlMap namespace="MyNamespace">
<delete id="deleteIbatis" parameterClass="java.Util.HashMap">
delete from emp where name = #name#
</delete>
</sqlMap>
-*.java
queryForList("MyNamespace.deleteIbatis");
queryForObject("MyNamespace.deleteIbatis");
일을 하면서 아직 부족한 점을 많이 느낀다. 이걸 하면서 하기싫었던 이유 실수를 많이 했던 이유도 잘 몰라서 였기 때문이다. 힘들거나 어려운 점이 있다면 아직 해결방법을 모르기 때문인 거 같다. 뭐든 차근차근 해결하다 보면 좋아지게 되지 않을까 생각한다! 모르는 건 죄가 아니니까ㅎㅎ다음에는 그러지 말자
'JAVA 공부하기!' 카테고리의 다른 글
[JAVA] 형 변환 (0) | 2022.06.21 |
---|---|
[JAVA] 생성자 (0) | 2022.03.02 |
[JAVA] 인스턴스와 힙메모리 (0) | 2022.03.01 |
[JAVA]Scheduler 구현방법 (0) | 2020.11.06 |
[JAVA]SHA-2 방식으로 비밀번호 암호화 시키기 (0) | 2020.11.06 |