mybatis批量更新update的各种情况总结
来源:互联网 发布:网络情感电台结束语 编辑:程序博客网 时间:2024/06/14 11:36
项目中,为了提高效率和方便回滚,不单单只是在mvc的服务层设置回滚切点,最好是能在sql里面实现批量更新最好不过了。
mybatis作为强大的持久层框架,当然可以很好地支持批量更新。而且以下代码兼容oracle和mysql数据库
一、不同的id更新相同值的几个字段。
传值是map类型,ids可以是list也可以是数组。
<update id="updatebatchSame" parameterType="java.util.Map" > UPDATE Table1 SET name = #{name},code=#{code} WHERE id IN <foreach collection="ids" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach></update>
二、多个不同的条件(id和bid)更新相同值的几个字段。
传值是map类型,ids是List,不同的条件在list元素对象里。
<update id="updatebatchMore" parameterType="java.util.Map" > UPDATE Table1 SET name = #{name},code=#{code} WHERE <foreach collection="ids" index="index" item="item" separator="or" > (id=#{item.id} and bid=#{item.bid}) </foreach></update>
三、 不同的id更新不同值的几个字段。
传值是map类型,ids是List,所有的值都在List元素对象里面。
<update id="updatebatchIdList" parameterType="java.util.Map" > UPDATE Table1 SET name = <foreach collection="ids" index="index" item="item" open="case id" separator=" " close=" end"> when #{item.id} then #{item.name} </foreach>,code= <foreach collection="ids" index="index" item="item" open="case id" separator=" " close=" end"> when #{item.id} then #{item.code} </foreach> WHERE id IN <foreach collection="ids" index="index" item="item" open="(" separator="," close=")"> #{item.id} </foreach></update>
四、 多个不同的条件(id和bid)更新不同值的几个字段。
传值是map类型,ids是List,所有的值都在List元素对象里面。
<update id="updatebatchList" parameterType="java.util.Map" > UPDATE Table1 SET name = <foreach collection="ids" index="index" item="item" open="case " separator=" " close=" end"> when (id=#{item.id} and bid=#{item.bid}) then #{item.name} </foreach>,code= <foreach collection="ids" index="index" item="item" open="case " separator=" " close=" end"> when (id=#{item.id} and bid=#{item.bid}) then #{item.code} </foreach>WHERE <foreach collection="ids" index="index" item="item" separator="or" > (id=#{item.id} and bid=#{item.bid}) </foreach></update>
阅读全文
0 0
- mybatis批量更新update的各种情况总结
- mybatis执行批量更新update
- mybatis执行批量更新update
- mybatis 批量更新update详解
- mybatis执行批量更新update 的方法oracle小记
- mybatis执行批量更新batch update 的方法
- mybatis执行批量更新batch update 的方法
- mybatis执行批量更新update 的方法oracle
- mybatis执行批量更新batch update 的方法
- MyBatis oracle 批量 insert update 新增 更新
- mybatis执行update批量更新时报错
- mybatis批量更新(on duplicate key update)
- mybatis批量更新(update foreach)失败
- Mybatis的批量更新
- Mybatis的批量更新
- mybatis 批量的更新
- mybatis 的批量更新
- MyBatis的批量更新
- Python编程:从入门到实践读书笔记-8 函数
- 第40章 连续时间系统的模拟
- 用tomcat作为服务器配置finereport报表平台
- 事件总线源码解析
- 选择结构语句---if语句,switch语句
- mybatis批量更新update的各种情况总结
- 【TopDesk】3.1.2. 利用JNI在Java中检测耳机插拔
- (第二行代码阅读笔记)活动(Activity)的生命周期
- UIView.h解读
- 数字在排序数组中出现的次数
- 设计模式—抽象工厂(十一)
- #5 计算属性与数据集合
- 【XML】SAX解析XML
- 混入Assasin的海盗分金问题