標籤:
需求:使用MyBatis往MySQL資料庫中插入一條記錄後,需要返回該條記錄的自增主索引值。
方法:在mapper中指定keyProperty屬性,樣本如下:
<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.java
public class User {private int userId;private String userName;private String password;private String comment;//setter and getter}
UserDao.java
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());
輸出:
插入前主鍵為:0插入後主鍵為:15
查詢資料庫:
如上所示,剛剛插入的記錄主鍵id為15
MyBatis+MySQL 返回插入的主鍵ID