mybatis在oracle插入对象后返回主键值

2023-05-18,,

mybatis中默认插入一条记录后,返回值为插入记录的条数。

现在想获取插入记录后,当前被插入的记录的主键值,需在insert方法中添加如下代码:

<insert id="insert" parameterType="cn.com.pm.ppm.model.UserInfo" >

  <selectKey resultType="java.math.BigDecimal" order="BEFORE" keyProperty="id">

           select T_USER_INFO_SEQ.nextval from dual

  </selectKey>

    insert into T_USER_INFO

    <trim prefix="(" suffix=")" suffixOverrides="," >

      <if test="id != null" >

        ID,

      </if>

        ...

</insert>

添加以下代码后

  <selectKey resultType="java.math.BigDecimal" order="BEFORE" keyProperty="id">

           select T_USER_INFO_SEQ.nextval from dual

  </selectKey>

方法中获取到的返回值任然是插入的记录数

但是mybatis将主键值set到了插入的对象中

《mybatis在oracle插入对象后返回主键值.doc》

下载本文的Word格式文档,以方便收藏与打印。