当前位置: 首页 > 知识库问答 >
问题:

Mybatis selectKey不返回序列值

乌翰学
2023-03-14

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

共有1个答案

笪栋
2023-03-14

实际上,该方法返回受影响的行数。

序列ID存储在作为参数传递的com.enrollment.vo.的属性中。

 类似资料:
  • 问题内容: 返回对象的名称为。因此,当我致电时,此代码将失败。我有什么办法可以解决临时问题吗?还是我应该怎么做? ps这是我在python中的第一个代码。我认为这是功能。 问题答案: 您可以使用返回的反向迭代器。调用时,它会在列表中进行原位反转,并返回None。 编辑: 我知道您现在正在尝试执行的操作,在我看来,仅凭列表理解就可以轻松完成此操作: 这基本上是在第一个元素之后查看所有元素,并收集所有

  • 我试图访问MyModelClass上的getter方法,但我的代码返回

  • 问题内容: 我在尝试为我的应用程序实现一些计数器时遇到了这种奇怪的行为。基本上,我做了一个这样的计数器表: 然后,我也想计算一些特定类型的消息,因此在Go应用程序中,我更改了表以添加以前没有的列。 我的应用程序正在增长,并且我开始有30列以上(不应超过50列),并且当我想检索所有这些计数器时,结果中缺少一些列。 这给我返回了30列超过34列的信息。虽然,当我在CQLSH上执行请求时: 我得到适当的

  • 问题内容: 我正在使用节点编写其余部分,将其序列化为mySQL的ORM。我正在使用bulkCreate函数批量创建记录。但是作为响应,它为主键值返回 null 。 模型 批量创建操作: 回应: 问题答案: 您应该设置以下选项:

  • 嗨!我有使用MS SQL序列生成ID的实体,但值不正确。 示例:序列发电机组 ID = 551009,但。如何解决?Hibernate版本:5.3.10.最终版