>

TIL

Mybatis foreach문

ekdud 2025. 1. 8. 10:38

 

Mybatis foreach문

동적으로 SQL을 처리하는 반복문.

 

collection = 전달받은 인자값(Array 또는 List여야한다)

index = 목록의 위치값(index, count, first, last ..)에 대한 참조 지정

item = 전달받은 인자값의 새 이름(foreach문에서 사용할 변수명)

open = 해당 구문이 시작할 때 넣을 문자

close = 해당 구문이 끝날 때 넣을 문자

separator = 한번 이상 반복할 때 반복되는 사이에 넣어줄 구분자.

 

<foreach collection="list" item="item" open="(" separator="," close=")">
    #{item}
</foreach>

 

foreach문에 nullable="true"를 추가하면 컬렉션이 null인 경우 foreach가 무시된다.

 

 

 

사용예시

<update id="BsnCtmmny.resSelectBsnCtmmny" parameterType="java.util.List">
    UPDATE T_BSN_CTMMNY
    SET USE_YN = 'Y'
    , UPD_DT = now()
    WHERE CTMMNY_REG_NO IN
    <foreach collection="ctmmnyRegNoList" item="item" open="(" separator="," close=")">
        #{item}
    </foreach>
</update>