Mybatis selectKey 不返回序列值
Mybatis selectKey not returning sequence value
我在 mybatis 中使用下面的插入查询。在 ibatis 中,相同的查询 returned seq_consumer_id.nextval 到 java 中的调用方法,并将其插入到 consumer_id 列中。但是在 mybatis 中,return 方法的值始终为 1(我假设它插入的行数),尽管 consumer_id 列已从序列中正确更新。我们不能生成密钥,插入它和 return 一样到 mybatis 中的 java class 吗?
<insert id="insertConsumer" parameterType="com.enrollment.vo.ConsumerVO">
<selectKey keyProperty="id" resultType="int" order="BEFORE">
select seq_consumer_id.nextval as id from dual
</selectKey>
insert into quotation_consumer (consumer_id, consumer_type, dob,
create_date, ENROLLMENT_INDICATOR, QUOTE_ID,IS_PRIMARY)
values(#{id},#{type.id}, #{birthdate, jdbcType=DATE}, default, #{enrollmentIndicator},
#{quoteId},#{isPrimary})
</insert>
确实是方法 returns 受影响的行数。
序列 ID 存储在作为参数传递的 com.enrollment.vo.ConsumerVO
的 ìd
属性 中。
我在 mybatis 中使用下面的插入查询。在 ibatis 中,相同的查询 returned seq_consumer_id.nextval 到 java 中的调用方法,并将其插入到 consumer_id 列中。但是在 mybatis 中,return 方法的值始终为 1(我假设它插入的行数),尽管 consumer_id 列已从序列中正确更新。我们不能生成密钥,插入它和 return 一样到 mybatis 中的 java class 吗?
<insert id="insertConsumer" parameterType="com.enrollment.vo.ConsumerVO">
<selectKey keyProperty="id" resultType="int" order="BEFORE">
select seq_consumer_id.nextval as id from dual
</selectKey>
insert into quotation_consumer (consumer_id, consumer_type, dob,
create_date, ENROLLMENT_INDICATOR, QUOTE_ID,IS_PRIMARY)
values(#{id},#{type.id}, #{birthdate, jdbcType=DATE}, default, #{enrollmentIndicator},
#{quoteId},#{isPrimary})
</insert>
确实是方法 returns 受影响的行数。
序列 ID 存储在作为参数传递的 com.enrollment.vo.ConsumerVO
的 ìd
属性 中。