본문 바로가기

뇌/Mybatis

[Mybatis] resultMap 예제, 사용 에러

 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