我在 mybatis 中使用以下插入查询。在ibatis中,相同的查询将seq_consumer_id.nextval返回到java中的调用方法,并将其插入到consumer_id列中。但在mybatis中,该方法的返回值始终为1(我假设它插入的行数),尽管consumer_id列已从序列中正确更新。我们不能生成 key ,插入它并将其返回到 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 存储在作为参数传递的 com.enrollment.vo.ConsumerVO
的 ìd
属性中。
关于java - Mybatis selectKey不返回序列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44036843/