溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

利用iBATIS的節(jié)點(diǎn)來獲取語句所自動(dòng)生成的主鍵

發(fā)布時(shí)間:2021-08-30 12:45:28 來源:億速云 閱讀:147 作者:chen 欄目:編程語言

這篇文章主要講解了“利用iBATIS的節(jié)點(diǎn)來獲取語句所自動(dòng)生成的主鍵”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“利用iBATIS的節(jié)點(diǎn)來獲取語句所自動(dòng)生成的主鍵”吧!

我們?cè)跀?shù)據(jù)庫插入一條數(shù)據(jù)的時(shí)候,經(jīng)常是需要返回插入這條數(shù)據(jù)的主鍵。但是數(shù)據(jù)庫供應(yīng)商之間生成主鍵的方式都不一樣。

有些是預(yù)先生成(pre-generate)主鍵的,如Oracle和PostgreSQL;有些是事后生成(post-generate)主鍵的,如MySQL和SQL Server。但是不管是哪種方式,我們都可以用iBATIS的節(jié)點(diǎn)來獲取語句所自動(dòng)生成的主鍵。

例子如下:

xml 代碼  

  1. <!-- Oracle SEQUENCE Example using .NET 1.1 System.Data.OracleClient -->  

  2. <insert id="insertProduct-ORACLE" parameterClass="product">  

  3.     <selectKey resultClass="int" type="pre" keyProperty="id" >  

  4.         SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL  

  5.     </selectKey>  

  6.     insert into PRODUCT (PRD_ID,PRD_DESCRIPTION) values (#id#,#description#)  

  7. </insert>  

  8.   

  9. <!-- Microsoft SQL Server IDENTITY Column Example -->  

  10. <insert id="insertProduct-MS-SQL" parameterClass="product">  

  11.     insert into PRODUCT (PRD_DESCRIPTION)  

  12.     values (#description#)  

  13.     <selectKey resultClass="int" type="post" keyProperty="id" >  

  14.         select @@IDENTITY as value  

  15.     </selectKey>  

  16. </insert>  

  17.   

  18. <!-- MySQL Example -->  

  19. <insert id="insertProduct-MYSQL" parameterClass="product">  

  20.     insert into PRODUCT (PRD_DESCRIPTION)  

  21.     values (#description#)  

  22.     <selectKey resultClass="int" type="post" keyProperty="id" >  

  23.         select LAST_INSERT_ID() as value  

  24.     </selectKey>  

  25. </insert>  

通過這種方法,我們可以輕松實(shí)現(xiàn)自動(dòng)生成ibatis主鍵,給我們的工作帶來了很大的便利

感謝各位的閱讀,以上就是“利用iBATIS的節(jié)點(diǎn)來獲取語句所自動(dòng)生成的主鍵”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)利用iBATIS的節(jié)點(diǎn)來獲取語句所自動(dòng)生成的主鍵這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI