我在mybatis中使用以下插入查询。在ibatis中,同一查询将seq_consumer_id.nextval返回到java中的调用方法,并将其插入到Consumer_id列中。但是在mybatis中,该方法的返回值始终为1(我假设其插入的行数为零),尽管consumer_id列已从序列中正确更新。我们不能生成密钥,将其插入并将其返回到mybatis中的java类吗?
<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>
最佳答案
实际上,该方法返回了受影响的行数。
序列ID存储在作为参数传递的ìd
的com.enrollment.vo.ConsumerVO
属性中。