我在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存储在作为参数传递的ìdcom.enrollment.vo.ConsumerVO属性中。

07-24 19:04
查看更多