mybatis获取数据库自增id


http://www.iteye.com/problems/86864


insert标签中加上
useGeneratedKeys="true" keyProperty="id"   
会将id组装到返回对象中而不是作为返回值
官方文档只这么说的:useGeneratedKeys该属性会告诉Mybatis使用JDBC的getGeneratedKeys方法来取出由数据(比如:像Mysql和Sql server这样数据库管理系统的自动递增字段)内部生成的主键。默认值:false。 
  1. <insert id="insertSelective" parameterType="com.lcworld.jiunixing.model.User" useGeneratedKeys="true" keyProperty="id" >
获取id方法
返回值i并不是id而是影响行数,getId才是数据库自增的id
  1. int i=userService.insertSelective(record);
  2. System.out.println(i);
  3. System.out.println(record.getId());

第二种方法,让返回值为数据库id
将加入insert标签中
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID() AS ID
</selectKey>




posted @ 2017-02-06 00:45  stoneuu  阅读(6251)  评论(0编辑  收藏  举报