>

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>