mybatis foreach 문의 기본 문형은


<select id="select" parameterType="hashMap" resultType="hashMap">

SELECT *

FROM USER

WHERE ID IN

<foreach collection="arrId" item="id"  open="(" close=")" separator=",">

#{id}

</foreach>

</select>


실제 실행되는 쿼리는 

SELECT *

FROM USER

WHERE ID IN

( 'a', 'b', 'c')


클라이언트에서 JSON 형식으로 파라미터가 날라와서

리스트안에 맵이 있는 경우는

자바에서 사용하듯이 사용하면 된다.


<select id="select" parameterType="hashMap" resultType="hashMap">

SELECT *

FROM USER

WHERE ID IN

<foreach collection="list" item="map"  open="(" close=")" separator=",">

#{map.id}

</foreach>

</select>

+ Recent posts