사용예시
다중 insert,udpate,delete 를 단일 트랜잭션에서 실행하고자 할때
조건 파라미터를 다이나믹하게 리스트로 받아서 데이터를 가져올때
아마 위 두가지 상황에 직면했을때가 대부분일것이다.
예)조건 파라미터를 리스트로 받아서 처리
( sql문의 parameterType은 vo 객체이고 변수로 companyIdList int [] 이 있음)
1.
AND (
<foreach collection="companyIdList" item="companyId" separator="OR">
COMPANY_ID = #{companyId}
</foreach>
)
<foreach collection="companyIdList" item="companyId" separator="OR" open="(" close=")">
COMPANY_ID = #{companyId}
</foreach>
2.
1 과 2의 결과는 같다.
예)다중 insert , updatem ,delete
( sql문의 parameterType은 array또는 ArrayLIst 가 되어야함)
<insert id="insertClientList" parameterType="list" (mybatis 기본 형)>
INSERT INTO CLIENT
(
COMPANY_ID
...
)
VALUES
<foreach collection="list" item="clientVo"(alias 를 줌) separator="," index="i">
(
#{clientVo.companyId}
...
)
</foreach>
updatem ,delete 는 insert와 비슷 하다.
블로그 관리자가 댓글을 삭제했습니다.
답글삭제