博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis学习 之 七、mybatis各种数据库的批量修改
阅读量:5980 次
发布时间:2019-06-20

本文共 1318 字,大约阅读时间需要 4 分钟。

                                 

  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.agefrom (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知识要求也相对增加了不少,倘若针对项目要求再将这些进行二次封装那会轻松比少。

  尊重原创,转载请注明来自:  ^_^肥仔John

 

六、参考                                  

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

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

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

你可能感兴趣的文章
mysql通过命令行查询数据库编码信息
查看>>
×××S 2012 建立图表 -- 双轴混合图表
查看>>
MongoDB Database Profiling
查看>>
WITH (UPDLOCK,HOLDLOCK)提示与不同表类型
查看>>
关于C++中typedef的用法定义函数指针
查看>>
Mysql性能优化建议
查看>>
ClassNotFound异常
查看>>
分布式文件系统之在域命名空间中新建文件夹
查看>>
关于 ps -aux 的错误用法
查看>>
Java程序员须知
查看>>
有用的网站
查看>>
排序——快速排序算法
查看>>
nginx各种常用的配置
查看>>
groupadd命令
查看>>
面试常考点:http和https的区别与联系
查看>>
python多线程与多进程
查看>>
系统架构:架构体系
查看>>
遇重大灾害,缅怀在灾害中遇难的同胞,网站变灰色
查看>>
Hibernate笔记
查看>>
微软的 windows live mail 邮件存放位置更改、ldap设置
查看>>