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,如图所示: