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>

在这里插入图片描述

相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页