欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mybatis 在 insert 之后想获取自增的主键 id的正确方式

程序员文章站 2022-03-22 08:40:38
...

今天在调试代码时,碰到了莫名其妙的问题,最后还是单步调试时,发现在使用mybatis的insert操作时,返回的值一直是“1”,跟我想象的有些出入,一直以为返回的应该是插入时的id值;

Mybatis生成insert接口的用法正解:

<insert id="insert"
        parameterType="user">
    INSERT INTO `user` (`name`,sex,register_ts) VALUES (#{name},#{sex},#{registerTs})
    <selectKey resultType="int" keyProperty="id" order="AFTER">
        SELECT LAST_INSERT_ID()
    </selectKey>
</insert>
  1. 返回的1是影响的行数,并不是自增的主键id;

  2. 想要获取自增主键id,需要通过xx.getId()方法获取,因为在mybatis中指定自增主键id封装到了对象的属性中,所以我们需要在对象中来获取

相关标签: insert