mysql 大量updateing_MyBatis魔法堂:各数据库的批量Update操作

一、前言

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

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

二、MSSQL的SQL语句

WITH R AS(

SELECT'John' as name, 18 as age, 42 asid

UNION ALL

SELECT'Mary' as name, 20 as age, 43 asid

UNION ALL

SELECT'Kite' as name, 21 as age, 44 asid

)

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 asid

union allselect 'John' as name , 16 as age, 43 asid

)asrwhere 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 asc

union allselect 'John' as a, 14 as b, 43 asb

) AS R

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

五、总结

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

六、参考

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值