MyBatis+MySQL 返回插入的主鍵ID

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

 

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

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

如上所示,咱們在insert中指定了keyProperty="userId",其中userId表明插入的User對象的主鍵屬性。數據庫

 

User.javamybatis

public class User {
	private int userId;
	private String userName;
	private String password;
	private String comment;
	
	//setter and getter
}

UserDao.javaapp

public interface UserDao {

	public int insertAndGetId(User user);

}

測試:測試

User user = new User();
user.setUserName("chenzhou");
user.setPassword("xxxx");
user.setComment("測試插入數據返回主鍵功能");

System.out.println("插入前主鍵爲:"+user.getUserId());
userDao.insertAndGetId(user);//插入操做
System.out.println("插入後主鍵爲:"+user.getUserId());

輸出:spa

插入前主鍵爲:0
插入後主鍵爲:15

查詢數據庫:code

 

如上所示,剛剛插入的記錄主鍵id爲15orm

相關文章
相關標籤/搜索