我在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>
答案 0 :(得分:1)
实际上,该方法返回受影响的行数。
序列ID存储在作为参数传递的ìd
com.enrollment.vo.ConsumerVO
属性中。