Mysql-ibatis 自動生成主鍵(selectKey) (轉)


iBatis自動生成的主鍵


很多數據庫支持自動生成主鍵的數據類型。不過這通常(並不總是)是個私有的特性。
SQL Map 通過<insert>的子元素<selectKey>來支持自動生成的鍵值。它同時支持預生成(如
Oracle)和后生成兩種類型(如 MS-SQL Server)。下面是兩個例子:


< !—Oracle SEQUENCE Example -->

                 
  1. <insert id="insertProduct-ORACLE" parameterClass="com.domain.Product">    
  2.   insert into PRODUCT (PRD_ID,PRD_DESCRIPTION)   
  3.   values (#id#,#description#)  
  4.   <selectKey resultClass="int" keyProperty="id">  
  5.     SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL  
  6.   </selectKey>  
  7. </insert>   


<!— Microsoft SQL Server IDENTITY Column Example -->


  1. <insert id="insertProduct-MS-SQL" parameterClass="com.domain.Product">   
  2.   insert into PRODUCT (PRD_DESCRIPTION)   
  3.   values (#description#)   
  4.   <selectKey resultClass="int" keyProperty="id" >   
  5.     SELECT @@IDENTITY AS ID   
  6.   </selectKey>   
  7. </insert>  



<!-- Mysql Auto Increased ID-->


  1. <insert id="insertProduct-Mysql" parameterClass="com.domain.Product">  
  2.   insert into PRODUCT(PRD_DESCRIPTION)  
  3.   values (#description#)  
  4.   <selectKey resultClass="int" keyProperty="id">  
  5.     SELECT LAST_INSERT_ID()  
  6.   </selectKey>  
  7. </insert> 


免責聲明!

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



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