Mybatis3 执行 insert 语句后获得当前插入主键值

2016-05-31 浏览 (1297)

需求:使用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

转自:http://my.oschina.net/crazybird/blog/379635?p=1

  • 所属分类: 后端技术
  • 版权声明: 本文链接 https://seaxiang.com/blog/get_mybatis3_insert_id