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