ibatis 대량 조작 보충

4917 단어 ibatis
이 글의 보충을 합시다.
리뷰 코드를 보았을 때 한 페이지에 정렬 설정 기능을 적용한 것을 발견했는데 원래 코드에서 순환 업데이트가 이루어졌다.비록 응용은 비교적 적지만 데이터베이스 링크를 쓸데없이 낭비하는 것은 정말 좋은 생각이 아니다.
그래서 나는 순환 중의 어떤 데이터도 조작할 수 없도록 해야만 많은 지뢰가 묻히는 것을 피할 수 있다고 생각한다.
수정 후:
ibatis를 기반으로 iterate 태그만 사용하는 대량 업데이트 문장의 쓰기 방법:
    <update id="batchUpdateShowOrder" parameterClass="map">
        update wi_open_app_sub_new set gmtModified=NOW() , showOrder = 
        <iterate property="apps" open="case" close="end" >
    when appId=#apps[].appId# then #apps[].showOrder#
         </iterate>
        where merchantId=#merchantId# and appId in 
        <iterate property="appIds" open="(" close=")" conjunction=",">
            #appIds[]#
         </iterate>
    </update>

sql 문장을 실현하려면:
update wi_open_app_sub_new set 
showOrder = case when appid =10199 then 1 when appid =4 then 2 when appid =3 then 3 when appid =10134 then 4 when appid=1 then 5 when appid=5 then 6 end  
where
merchantid='8a22b1864b498152014b498246610001' and appid in( 10199, 4, 3 , 10134, 1, 5 );

좋은 웹페이지 즐겨찾기