Mybatis 批量更新数据(多字段批量)

   日期:2020-07-02     浏览:89    评论:0    
核心提示:废话不多说,直接上代码. update assess_factor_copy set fxjb=case id when #{it_mybatis批量update
废话不多说,直接上代码.
<!--    批量更新指标分数和级别-->
    <update id="updateAll" parameterType="com.futuredata.web.assess.pojo.WordVO">
        update assess_factor_copy set fxjb=case id
        <foreach collection="list" item="item">
            when #{item.id} then #{item.fxjb}
        </foreach>
        end,
        score=case id
        <foreach collection="list" item="item">
            when #{item.id} then #{item.score}
        </foreach>
        end
        where id in
        <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
            #{item.id}
        </foreach>
    </update>

解释下, a= case b when c then d end函数表示,当b=c的时候另a=d 所以配合foreach的循环可以实现批量更新数据

容易遇到的坑这里给大家点出来
1.对于多字段,最后一个end后面不需要带标点符号.
2.最后的where id in ()这个不可以省略掉,原因有两个,一是可以提高效率,二是防List集合不包含的id行数据被覆盖置为NULL

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服