본문 바로가기
프로그래밍

mybatis multiple select key

by 탁구치는 개발자 2015. 5. 21.

selectKey 조회 시 한 건만 가능했던 것이 MyBatis 3.2.6 버전부터는 multiple select key 가 지원되었다.

모르고 있었던 기능인데 회사 동료로부터 알게 되었다.

Provides some new features:

 - Caches nested selects

 - Lazy loading can be enabled only for specific relations

 - Supports returning multiple fields in a select key

 - Some other minor improvements


http://blog.mybatis.org/2014/03/mybatis-326-released.html



아래와 같이 쿼리를 만들고 테스트를 해보니 잘 동작한다. 실제 업무에서 사용해 보지는 않았지만 언젠간 필요할 날이 있겠지.

<insert id="insertUserTest" parameterType="adminUser">

 

<selectKey keyProperty="userId,userName" resultType="hashmap" order="BEFORE">

SELECT 'key1' as userId, 'key2' as userName FROM DUAL

</selectKey>

 

INSERT INTO USERS

        (

           USER_ID

          , NAME

          , PASSWORD

          , AGE

        ) VALUES

        (

            #{userId}

          , #{userName}

          , #{password}

          , #{age}

        )

</insert>