mybatis插入后返回主键id的三种方式

第一种:在xml文件,insert标签属性中,添加useGeneratedKeys和keyProperty,如图

 

第二种:在xml文件,添加selectKey标签属性,各个属性值含义:resultType:查询结果的类型;keyProperty:把查询的值赋给谁;order:在插入前还是后执行,id在insert语句插入之后才会生成id,所以要在插入之后执行,所以此处order=after;

 

第三种:在dao层用注解的方式,用@SelectKey注解,里面属性含义:resultType:查询结果的类型,keyProperty:把查询的值赋给谁;  statement:查找最后一个插入的id;  keyColumn:查询的是哪一列;  before:是否在插入之前执行,  id在insert语句插入之后才会生成id,所以要在插入之后执行,所以此处before=false;

 

最后解释一下“select last_insert_id()”这条语句,它是配合插入语句一块只用的,在insert语句执行成功后可以返回新增数据的id,如图所示: