java insert自增长id_Java Mybatis 在 insert 之后想获取自增的主键id怎么办

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版权协议,转载请附上原文出处链接和本声明。