MYBATIS - UPDATE list

2023. 10. 30. 15:38DB/MyBatis

SQL 원형:

UPDATE PET_TBL
   SET NAME = '둘리'
 WHERE ID = 'Pet001';
 
 UPDATE PET_TBL
   SET NAME = '도너'
 WHERE ID = 'Pet002';
 
 UPDATE PET_TBL
   SET NAME = '또치'
 WHERE ID = 'Pet003';
 .
 .
 .

 

INSERT 와 달리 UPDATE 문을 여러번 실행하는 방식이기 때문에 쿼리 사이에 반복을 처리하는 foreach 가 올 수 없다.

대신 쿼리문을 <foreach> 로 감싸며 그것의 바깥을 BEGIN, END 로 한 번 더 감싸서 처리해야 한다. 구분자는 마침표를 의미하는 ';' (세미콜론) 으로 지정해야 한다.

<update id="updateStudentTbl" parameterType="StudentDTO">
    BEGIN
        <foreach collction="list" item="element" index="index" separator=";">
            UPDATE TEST_TBL
               SET NAME = #{element.name}
             WHERE ID = #{element.id}
        </foreach>
    END
</update>

'DB > MyBatis' 카테고리의 다른 글

MYBATIS - INSERT list  (0) 2023.11.03