Mybatis中insert、Update操作返回主键

Mybatis中insert、Update操作返回主键

 

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

 

两种方式

1. <insert id="insert" parameterType="User" keyProperty="id" >

 

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

 

2.   不推荐,经测试,在SPRING事务环境中,永远返回1,因为在insert后,事务并没有提交所以。。。坑啊!

<insert id="insert" parameterType="com.wsmall.kalemao.dal.auth.dataobject.UserDo" >
  <selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >
    SELECT LAST_INSERT_ID()
  </selectKey>
  insert into User ...
</insert >

java代码    pk = insert(User u)

 

展开阅读全文

没有更多推荐了,返回首页