1. 程式人生 > >Mybatis中insert後返回主鍵

Mybatis中insert後返回主鍵

需求:使用MyBatis往MySQL資料庫中插入一條記錄後,需要返回該條記錄的自增主鍵值。

方法:在mapper中指定keyProperty屬性,示例如下:

Xml程式碼  收藏程式碼

  1. <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User">  
  2.     insert into user(userName,password,comment)  
  3.     values(#{userName},#{password},#{comment})  
  4. </insert>  

 如上所示,我們在insert中指定了keyProperty="userId",其中userId代表插入的User物件的主鍵屬性。

User.java

Java程式碼  收藏程式碼

  1. public class User {  
  2.     private int userId;  
  3.     private String userName;  
  4.     private String password;  
  5.     private String comment;  
  6.     //setter and getter  
  7. }  

 UserDao.java

Java程式碼  收藏程式碼

  1. public interface UserDao {  
  2.     public int insertAndGetId(User user);  
  3. }  

 測試:

Java程式碼  收藏程式碼

  1. User user = new User();  
  2. user.setUserName("chenzhou");  
  3. user.setPassword("xxxx");  
  4. user.setComment("測試插入資料返回主鍵功能");  
  5. System.out.println("插入前主鍵為:"+user.getUserId());  
  6. userDao.insertAndGetId(user);//插入操作
      
  7. System.out.println("插入後主鍵為:"+user.getUserId());  

 輸出:

Shell程式碼  收藏程式碼

  1. 插入前主鍵為:0  
  2. 插入後主鍵為:15  

 查詢資料庫:

原文路徑:http://chenzhou123520.iteye.com/blog/1849881