[Mybatis] resultMap과 resultType

GyeongEun Kim·2022년 12월 13일
0

mybatis에서 리턴타입을 정하는 태그는 두가지가 있다. resultMap 과 resultType. 두 가지의 차이점은 무엇일까?

resultType

resultType은 작성한 타입에 맞는 클래스에 매핑이 자동으로 이루어진다.
Dto의 경우 DB칼럼명과 Dto의 변수명이 일치해야 제대로 매핑이 된다.

또한 따로 설정을 하지않아도 select결과의 행이 여러줄이면 List형식으로 반환된다.

<select id="findById"
            parameterType="String"
            resultType="Dto의.위치.UserDto">
        select * from User where id= #{id};
</select>

resultMap

resultMap은 사용자가 xml에 정의한 규칙대로 매핑이 이루어진다.

<resultMap id="MyUserDto" type="Dto의.위치.UserDto" >
			<result property="userNo" column="userNo"/>
  			<result property="id" column="id"/>
		    <result property="phone" column="phone"/>
		    <result property="statusNo" column="statusNo"/>
</resultMap> 

<select id="findById"
            parameterType="String"
            resultMap="MyUserDto">
        select * from User where id= #{id};
</select>
profile
내가 보려고 쓰는 글

0개의 댓글