Java Mybatis 在 insert 之后想获取自增的主键id怎么办
Mybatis 在 insert 之后想获取自增的主键 id,但却总是返回1。也在Mapper XML文件中写了一下代码还是不行。
SELECT LAST_INSERT_ID()
各种搜索后发现,原来想要获得自增ID,要用对象的getId()方法,修改代码如下
useGeneratedKeys="true" keyColumn="id" keyProperty="id"
parameterType="user">
INSERT INTO `user` (`name`,sex,register_ts) VALUES (#{name},#{sex},#{registerTs})
SELECT LAST_INSERT_ID()
总结:
1. 想要获取自增主键id,应该通过对象的getId()方法,而并不是insert的返回值,insert的返回值表示的是影响行数
2.在mapper.xml中:useGeneratedKeys="true"、keyProperty="id",这两个属性的作用:
共同决定了sql执行后,会将主键封装到id属性上;
自增主键封装到了对象的id属性上了,那么想要获取,直接调用对象的getId()方法就可以了
版权声明:本文为weixin_39529463原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。