使用批量插入的比较多,相对来讲使用批量更新的少很多,今天就说说mysql批量更新那会事
只写sql语句
UPDATE 表名
SET user_phone =
CASE user_id
WHEN 1 THEN '测试1'
WHEN 2 THEN '测试2'
END,
user_name =
CASE user_id
WHEN 1 THEN '名称测试1'
WHEN 2 THEN '名称测试2'
END
where user_id in('1','2')
上面这种是是直接通过sql语句更改
下面这种通过代码更改
Mapper接口中
/**
* @Description: 批量更信息
*/
int updateUserInfoBatch(@Param(value = "list")List<Model> models);
xml中:
UPDATE 表名
SET user_phone = CASE user_id
<foreach collection="list" item="item" >
WHEN #{item.userId} THEN #{item.userPhone}
</foreach>
END,
user_name = CASE user_id
<foreach collection="list" item="item" >
WHEN #{item.userId} THEN #{item.userName}
</foreach>
END
<where>
user_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.userId,jdbcType=VARCHAR}
</foreach>
</where>
更改单/多个列就是通过上述方法