resultType 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <select id="selectOne" parameterType="int" resultType="boardDto"> SELECT board_no, board_title, board_writer, board_contents, board_regdate, board_group, board_level, board_seq FROM board WHERE board_no = #{boardNo} </select> | cs |
resultMap 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <mapper namespace="board"> <resultMap id="boardMap" type="boardDto"> <id property="boardNo" column="board_no"/> <result property="boardTitle" column="board_title"/> <result property="boardWriter" column="board_writer"/> <result property="boardPwd" column="board_password"/> <result property="boardContents" column="board_contents"/> <result property="boardRegdate" column="board_regdate"/> <result property="boardGroup" column="board_group"/> <result property="boardParent" column="board_parent"/> <result property="boardLevel" column="board_level"/> <result property="boardSeq" column="board_seq"/> </resultMap> <select id="selectOne" parameterType="int" resultMap="boardMap"> SELECT board_no, board_title, board_writer, board_contents, board_regdate, board_group, board_level, board_seq FROM board WHERE board_no = #{boardNo} </select> </mapper> | cs |
- resultType과 resultMap
dto의 변수명과 table의 column 명이 같다면, resultType으로 바로 mapping이 가능하다.
하지만 dto변수에는 보통 낙타표기법을 쓰므로, 같지 않을 경우가 많다. 이럴 땐 resultMap을 사용하여 mapping한다.
- resultMap 에러
순서가 틀리면 안된다. resultMap 선언이 사용 전에 있어야 한다.
계속 헤맸던 에러는, namespace가 공백으로 채워지면 안된다는 것이다. 연습용이라 이름을 주지 않고 스페이스 한 번 주었는데, 이름을 주니 바로 정상 작동한다.
위에는 dto에 대하여 typeAlias를 주었기 때문에 간단히 표기했다. TypeAlias에 대해서는 http://www.mybatis.org/mybatis-3/ko/configuration.html#typeAliases
'뇌 > Mybatis' 카테고리의 다른 글
[Mybatis] 쿼리 예쁘게 출력, DB에 저장하기 (0) | 2017.06.12 |
---|