Java
mybatis foreach 구문 list 안에 map이 있는 경우
수유산장
2018. 1. 24. 18:13
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>