* 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>
위같은 형태가 되는거다.
'Database > 공부공부' 카테고리의 다른 글
[SQL] INSERT INTO ... SELECT 구문 (Dual 테이블) (0) | 2024.10.23 |
---|---|
[DB기초] 옵티마이저, 테이블 스캔 방식 (0) | 2024.03.05 |