版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/damoneric_guo/article/details/76144400
1、穿值list,批量處理
<update id="updateA" parameterType="java.util.List">
UPDATE 表名<trim prefix="set" suffixOverrides=",">
STATE=1,REPAY_STATE=3,--更新統一的數據
<trim prefix="REPAY_DATE =case" suffix="end,">
<foreach collection="list" item="i" index="index">
when IID=#{i.iid}
then #{i.repayDate}
</foreach>
</trim> --更新不同的數據
</trim>
WHERE
<foreach collection="list" item="i" index="index" separator="or">
IID=#{i.iid}
</foreach>
</update>
2、穿值map,批量處理
map.put("lid", lid);
map.put("list", list);
<update id="updateB" parameterType="java.util.Map" >
UPDATE 表名
<trim prefix="set" suffixOverrides=",">
<trim prefix="字段名 =case" suffix="end,">
<foreach collection="list" item="item" index="index">
when LID = #{lid} AND indexs = #{item.indexs}
then #{item.shouldInterest}
</foreach>
</trim> --更新不同的數據
<trim prefix="SHOULD_TIME =case" suffix="end,">
<foreach collection="list" item="item" index="index">
when LID = #{lid} AND indexs = #{item.indexs}
then #{item.shouldTime}
</foreach>
</trim> --更新不同的數據
</trim>
where
<foreach collection="list" item="item" index="index" separator="or">
LID = #{lid} AND indexs = #{item.indexs}
</foreach>
</update>