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

在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到了插入的对象中

你可能感兴趣的:(oracle,mybatis,insert)