码迷,mamicode.com
首页 > 数据库 > 详细

MyBatis+MySQL 返回插入的主键ID

时间:2015-09-08 15:18:23      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。

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

1 <insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.koala.blog.model.Test" >
2     insert into test (id, name)
3     values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR})
4   </insert>

如上所示,我们在insert中指定了keyProperty="id",其中id代表插入的Test对象的主键属性。

还要明确useGeneratedKeys="true"否则也不会起作用

model,dao皆由mybatis generator自动生成

使用单元测试测试的方法:

1 @Test
2 public void testInsert() {
3     com.koala.blog.model.Test test = new com.koala.blog.model.Test();
4     test.setName("haha");
5     int result = testService.insert(test);// result是指插入几条记录
6     LOGGER.info(test.getId());// test.getId()是获取新增记录的主键
7 }

该方法适用于主键为int型的自增主键

非自增主键需要设置主键后才能正确插入数据,所以配不配置   useGeneratedKeys="true" keyProperty="id"

都可以正确获取  test.getId()

MyBatis+MySQL 返回插入的主键ID

标签:

原文地址:http://www.cnblogs.com/draenei/p/4791513.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!