批量更新
主键更新
<update id="batchUpdate">
update ems_item
<trim prefix="set" suffixOverrides=",">
<trim prefix="x =case" suffix="end,">
<foreach collection="lists" item="item" index="index">
<if test="item.x !=null">when id=#{item.id} then #{item.x}</if>
<if test="item.x == null ">when id=#{item.id} then
ems_item.x
</if>
</foreach>
</trim>
<trim prefix="y =case" suffix="end,">
<foreach collection="lists" item="item" index="index">
<if test="item.y !=null">when id=#{item.id} then #{item.y}</if>
<if test="item.y == null ">when id=#{item.id} then
ems_item.y
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="lists" index="index" item="item" separator="," open="(" close=")">
#{item.id,jdbcType=VARCHAR}
</foreach>
</update>
多条件更新
<update id="batchUpdate" parameterType="java.util.List">
update emv_user_stationgroup
<trim prefix="set" suffixOverrides=",">
is_check =
<foreach collection="list" item="item" open="case " close=" end,">
when user_id = #{item.userId} AND group_id = #{item.groupId} then #{item.isCheck}
</foreach>
</trim>
<where>
<foreach collection="list" item="item" open="( " separator=") or (" close=" )">
user_id = #{item.userId} AND group_id = #{item.groupId}
</foreach>
</where>
</update>