mybatis批量修改操作示例
mybatis批量修改操作示例
# 将 id 为1的年龄改为 80 , name 改为 zsf , name 改为 张三丰
# 将 id 为2的年龄改为 90 , name 改为 ldl , name 改为 李大伦
UPDATE tb_user
SET
age = CASE WHEN id=1 THEN 80 WHEN id=2 THEN 90 END,
NAME = CASE WHEN id=1 THEN 'zsf' WHEN id=2 THEN 'ldl' END,
user_name = CASE WHEN id=1 THEN '张三丰' WHEN id=2 THEN '李大伦' END
WHERE id IN ( 1, 2 ) ;
<update id="batchUpdate">
update tb_user
<trim prefix="set" suffixOverrides=",">
<trim prefix="age = CASE" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.age!=null">
when id=#{i.id} then
#{i.age}
</if>
</foreach>
</trim>
<trim prefix="name = CASE" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.name!=null">
when id=#{i.id} then
#{i.name}
</if>
</foreach>
</trim>
<trim prefix="user_name = CASE" suffix="end">
<foreach collection="list" item="i" index="index">
<if test="i.userName!=null">
when id=#{i.id} then
#{i.userName}
</if>
</foreach>
</trim>
<where>
id in
<foreach collection="list" item="i" separator="," open="(" close=")">
#{i.id}
</foreach>
</where>
</trim>
</update>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通