MyBatis+MySQL 返回插入的主键ID
<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
?