1. 程式人生 > >mybatis獲取insert之後資料庫自動生成的id

mybatis獲取insert之後資料庫自動生成的id

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

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

  1. <insertid="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物件的主鍵屬性。
  1. publicclass User {    
  2.     privateint userId;    
  3.     private String userName;    
  4.     private String password;    
  5.     private String comment;    
  6.     //setter and getter  
  7. }    

UserDao.java
  1. publicinterface UserDao {    
  2.     publicint insertAndGetId(User user);    
  3. }    

 測試:
  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());