반응형
츄르사려고 코딩하는집사입니다.
IBatis parametermap에서 MyBatis로 변경하는 방법
IBatis에서 파라미터를 매핑하려고 parametermap을 사용했는데, 지금은 IBatis에서도 사용하지 않는다.
간혹가다가 사용하는 경우가 있는데, 이 경우에 MyBatis로 변경하면 문제가 발생한다.
MyBatis에서는 parametermap을 사용하지 않는다.
그래서, 아래의 xml 파일은 IBatis로 되어 있다.
<sqlMap namespace="test">
<parameter property="NAME1" jdbcType="VARCHAR" mode="IN"/>
<parameter property="NAME2" jdbcType="VARCHAR" mode="OUT"/>
<parameter property="NAME3" jdbcType="VARCHAR" mode="IN"/>
<parameter property="NAME4" jdbcType="VARCHAR" mode="OUT"/>
<parameter property="NAME5" jdbcType="VARCHAR" mode="IN"/>
</sqlMap>
각 property가 있는 파라미터에 jdbcType은 VARCHAR로 되어 있고, mode는 IN과 OUT이 존재한다.
<select id="TEST_MAP" parameterType="hashmap" resultType="DataMap">
{ call TEST_PROCEDURE(
#{NAME1, mode=IN, jdbyType="VARCHAR"}
, #{NAME2, mode=OUT, jdbyType="VARCHAR"}
, #{NAME3, mode=IN, jdbyType="VARCHAR"}
, #{NAME4, mode=OUT, jdbyType="VARCHAR"}
, #{NAME5, mode=IN, jdbyType="VARCHAR"}
)
}
</select>
위의 코드처럼, 각 property의 jdbcType과 mode를 #{} 안에서 데이터 뒤에 각각 넣어주면 된다.
반응형
최근댓글