MyBatis學習 之 七、mybatis各種數據庫的批量修改


                                 

  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

如果您覺得本文的內容有趣就掃一下吧!捐贈互勉!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM