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>





免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM