java - Mybatis selectKey不返回序列值

标签 java sql oracle mybatis ibatis

我在 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/

相关文章:

java - Java 中的运算符优先级

java - 元标记中的 JSF 重定向

甲骨文顶点 : step by step approach to creating radio buttons in interactive report

oracle - 如何检查Oracle补丁是否安装?

oracle - 在命令行参数之间添加逗号

java - 在 Java 中将 PKCS#8 私钥转换为 PEM

php - 基于数据库条目的不同按钮

php - 总和 :two different time query

sql - "Visual Query Builder",它在哪里?

java - Java套接字-关闭与服务器套接字的telnet客户端连接