myBatis(iBatis)에서 사용 방법들.
1) resultMap 으로 설정하기
mapper xml에서 각각에 vo와 return 을 맞춰주면 되지만 vo재사용측면이나 코딩 생산성에서는 조금 떨어지는 방법 같다.
<resultMap id="UserMap" type="test.vo.TestVo" >
<id column="userId" property="userId" jdbcType="VARCHAR" />
<result column="userName" property="userName" jdbcType="VARCHAR" />
</resultMap>
<select id="selectUser" resultMap="UserMap">
select userid userId, name userName
from userdb
</select>
<id column="userId" property="userId" jdbcType="VARCHAR" />
<result column="userName" property="userName" jdbcType="VARCHAR" />
</resultMap>
<select id="selectUser" resultMap="UserMap">
select userid userId, name userName
from userdb
</select>
2) resultType에 class 를 직접 지정하기
어떤 class를 사용하여 return 하는지 가장 명확하나 패키지 명이 길어지는 공용 vo의 경우에는 힘들 듯.
<select id="selectUser" resultType="test.vo.TestVo">
select userid userId, name userName
from userdb
</select>
select userid userId, name userName
from userdb
</select>
3) resultType에 typeAliases 사용하기
재사용율이 높은 vo의 경우는 아래의 방법으로 사용하면 적합할 듯 하다.
- configulation xml에 typeAliases 설정
<typeAliases>
<typeAlias type="test.vo.TestVo" alias="TestVo"/>
</typeAliases>
<typeAlias type="test.vo.TestVo" alias="TestVo"/>
</typeAliases>
- mapper xml에서 사용
<select id="selectUser" resultType="TestVo">
select userid userId, name userName
from userdb
</select>
select userid userId, name userName
from userdb
</select>
각각 동일한 결과를 보여 주므로 적절한 것을 선택 하면 될것 같다.
'DEV > myBatis' 카테고리의 다른 글
| myBatis mapper 사용방법 - 1. select (0) | 2011/04/15 |
|---|

댓글을 달아 주세요