Oracle + Myabtis insert返回主键ID方式
很多时候需要再插入一条数据时将该条数据id更新到其他表,这个时候就要获取到插入数据时的id
方式一
<insert id="insertSelectiveReturnId" parameterType="xxx" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
insert into table (id, name) value(#{id}, #{name})
</insert>
方式二
<insert id="insertSelectiveReturnId" parameterType="xxx">
<selectKey keyProperty="id" resultType="Long" order="BEFORE">
select seq_table.nextval from dual
</selectKey>
insert into table (id, name) value(#{id}, #{name})
</insert>
注意:表的插入数据触发器自增id不能再配置,否则实际插入id会比返回的id大1
方式三
<insert id="insertSelectiveReturnId" parameterType="xxx">
<selectKey keyProperty="id" resultType="Long" order="AFTER">
select seq_table.currval from dual
</selectKey>
insert into table (id, name) value(#{id}, #{name})
</insert>