MyBatis的update元素的用法与insert元素基本相同,因此本篇不打算重复了。本篇仅记录批量update操作的sql语句,懂得SQL语句,那么MyBatis部分的操作就简单了。

注意:下列批量更新语句都是作为一个事务整体执行,要不全部成功,要不全部回滚。

二、MSSQL的SQL语句                          

WITH R AS(SELECT 'John' as name, 18 as age, 42 as id UNION ALL SELECT 'Mary' as name, 20 as age, 43 as id UNION ALL SELECT 'Kite' as name, 21 as age, 44 as id ) UPDATE TStudent SET name = R.name, age = R.age FROM R WHERE R.id = TStudent.Id

三、MSSQL、ORACLE和MySQL的SQL语句                

UPDATE TStudent SET Name = R.name, Age = R.age
from (
SELECT 'Mary' as name, 12 as age, 42 as id union all select 'John' as name , 16 as age, 43 as id ) as r where ID = R.id

四、SQLITE的SQL语句                          

当条更新:

REPLACE INTO TStudent(Name, Age, ID)
VALUES('Mary', 12, 42)

批量更新:

REPLACE INTO TStudent(Name, Age, ID)
SELECT * FROM (select 'Mary' as a, 12 as b, 42 as c union all select 'John' as a, 14 as b, 43 as b ) AS R

说明:REPLACE INTO会根据主键值,决定执行INSERT操作还是UPDATE操作。

五、总结                                  

本篇突出MyBatis作为半自动ORM框架的好处了,全手动操控SQL语句怎一个爽字了得。但对码农的SQL知识要求也相对增加了不少,倘若针对项目要求再将这些进行二次封装那会轻松比少。

尊重原创,转载请注明来自:http://www.cnblogs.com/fsjohnhuang/p/4078999.html  ^_^肥仔John

六、参考                                  

http://feng10251225.blog.163.com/blog/static/6312279820114302391320/

http://www.cnblogs.com/liping13599168/archive/2011/05/24/2054908.html

如果您觉得本文的内容有趣就扫一下吧!捐赠互勉!

MyBatis学习 之 七、mybatis各种数据库的批量修改相关推荐

  1. MyBatis学习总结(七)——Mybatis缓存

    一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Se ...

  2. Mybatis学习笔记(一) —— mybatis介绍

    一.Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...

  3. 【最全Mybatis学习笔记(导入mybatis相关jar包)】

    目录 1. 什么是Mybatis 2. 如何引入Mybatis? 3.编写Mybatis工具类 4. 万能Map 5. 模糊查询怎么写? 6. 作用域(Scope)和生命周期SqlSessionFac ...

  4. Mybatis学习第一天——Mybatis的安装配置以及基本CURD操作

    1.Mybatis下载 Mybatis是开源的持久层框架,能够度jdbc进行简单的封装,但其并不是完全的ORM(Object Relational Mapping,对象关系映射),无法脱离数据库进行适 ...

  5. 【Mybatis学习总结七】调用存储过程

    今天这节课本来可以一小时结束的,我却从三点半搞到了九点.我觉得我是世界上最S13的人!!!没有之一!!!!一个小错害我花了一个晚上的时间去寻找,真是够无语的.好了,言归正传,还是先总结下今天学习的内容 ...

  6. mybatis学习(9):mybatis连接mysql数据库

    首先本地安装一个mysql数据库 修改账号密码 我的是root   123 并用navicate测试连接 数据库为mybatis 表名为users 我们看一下目录结构 直接上代码 user类 pack ...

  7. SqlMapConfig.xml配置文件---Mybatis学习笔记(七)

    SqlMapConfig.xml文件的配置内容: SqlMapConfig.xml中配置的内容和顺序如下: properties(属性) settings(全局配置参数) typeAliases(类型 ...

  8. MyBatis学习(七)

    本课程对应视频教程:http://edu.51cto.com/sd/3ec2c 1.高级查询 MyBatis作为一个ORM框架,也对sql的高级查询做了支持,这里以用户,订单,订单详情,商品为例讲解 ...

  9. 【MyBatis学习8】MyBatis中的二级缓存

    1. 二级缓存的原理 前面介绍了,mybatis中的二级缓存是mapper级别的缓存,值得注意的是,不同的mapper都有一个二级缓存,也就是说,不同的mapper之间的二级缓存是互不影响的.为了更加 ...

最新文章

  1. exsi主机之间使用scp拷贝文件超时问题
  2. openSAP中国新平台的介绍
  3. 离散信号经过FFT处理后,幅度,相位,功率的计算
  4. boost::mpl::advance相关用法的测试程序
  5. Python2 常见问题
  6. Linux常用的网络命令笔记
  7. Sublime text3装入插件Anaconda
  8. Codeforces 558(C、D、E)总结
  9. 今天的天气好热哦!!!
  10. java集合的存储特征_Java集合常用类特点整理
  11. 带lazy标记的线段树
  12. [原] 让网页中的对话框不显示以前输入的信息
  13. Apache下设置整站变灰方法
  14. 子进程 已安装 pre-removal 脚本 返回了错误号 1或2 与 子进程 已安装 post-installation 脚本 返回了错误号 1或2
  15. 福布斯发布区块链50强 这5家中国公司上榜
  16. 支付宝当面付(统一收单线下交易预创建,二维码扫码支付)
  17. 生成费氏数列 -思维训练for
  18. MySQL学习---作业(1)
  19. 当AI能气味编程时,网友:这才是真正的黑客帝国!
  20. maven的jar包引入成功却仍然爆红

热门文章

  1. 若依如何配置允许跨域访问?
  2. nginx引入自定义的配置文件
  3. oracle内置函数 trunc 使用
  4. Soul网关源码解析目录
  5. 如何做相册_今天才知道,原来长按微信相册,还隐藏着一个实用功能
  6. Dijkstra算法(求一点到任意一点的最短距离)
  7. 系统增删查改的软件测试,软件测试人员必掌握的增删改查之简单查询
  8. java.math.BigDecimal cannot be cast to java.lang.Integer
  9. sql server alter权限_SQL
  10. python for和while的用法区别_详解python while 函数及while和for的区别