How to get pk after operation of insert, update in mybatis?

** 两种方式

  1. insert id="insert" parameterType="User" keyProperty="id" useGeneratedKeys="true"

Java 代码 调用 insert(User u) 后 u.getPK() 就有值了

  1. 不推荐,经测试,在 spring 事务环境中,永远返回 1,因为在 insert 后,事务并没有提交所以。。。坑啊!
    insert id="insert" parameterType=""
    selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER"
    SELECT LAST_INSERT_ID()
    selectKey
    insert into User ...
    /insert