mybatis批量更新
update vota_upgrade.push_vehicle
<trim prefix="set" suffixOverrides=",">
<trim prefix="status =case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.pushState!=null">
when vin=#{i.vin} and push_id=#{i.pushId} then #{i.pushState}
</if>
</foreach>
</trim>
<trim prefix="arrive_time =case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.arrivalTime!=null">
when vin=#{i.vin} and push_id=#{i.pushId} then #{i.arrivalTime}
</if>
</foreach>
</trim>
</trim>
where
<foreach collection="list" separator="or" item="i" index="index" >
vin=#{i.vin} and push_id=#{i.pushId}
</foreach>
#对应的sql
UPDATE vota_upgrade.push_vehicle
SET STATUS = CASE
WHEN vin =?
AND push_id =? THEN
?
WHEN vin =?
AND push_id =? THEN
?
END,
arrive_time = CASE
WHEN vin =?
AND push_id =? THEN
?
WHEN vin =?
AND push_id =? THEN
?
END
WHERE
vin =?
AND push_id =?
OR vin =?
AND push_id =?