Database/공부공부
[MyBatis] foreach 태그 지원 옵션
phyho
2024. 3. 14. 09:15
* MyBatis foreach태그 (구 ibatis [ iterate )
collection : 전달받은 인자. List or Array 형태만 가능.
item : 전달받은 인자 값을 alias명으로 대체.
open : 구문이 시작될때 삽입할 문자열.
close : 구문이 종료될 때 삽입할 문자열.
separator : 반복 되는 사이에 출력할 문자열.
index : 반복되는 구문 번호. 0부터 순차적으로 증가.
<select id="selectUsersByIds" resultType="User">
SELECT *
FROM users
WHERE id IN
<foreach item="itemId" collection="idList" open="(" separator="," close=")">
#{itemId}
</foreach>
</select>
즉, idList = {ID1, ID2, ID3, ID4...} 이런식으로 데이터가 들어있으면
<select id="selectUsersByIds" resultType="User">
SELECT *
FROM users
WHERE id IN (ID1, ID2, ID3, ID4, ...)
</select>
위같은 형태가 되는거다.