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