欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mybatis 多条件批量更新

程序员文章站 2024-03-05 15:39:13
...

最近做到一个多条件修改功能,发现在mysql运行成功的语句,在mybatis里面却不行,所以在这里总结一下。

最后还是用case when then 完成的。

 <update id="updateByPrimaryKeySelective" parameterType="java.util.List">
        update table
        <trim prefix="set" suffixOverrides=",">
            <trim prefix="status =case" suffix="else status end;">
                <foreach collection="list" item="item" index="index">
                    <if test="item.status!=null">
                        when id=#{item.id} and data = #{item.data} then #{item.status,jdbcType=VARCHAR}
                    </if>
                </foreach>
            </trim>
        </trim>
    </update>