【MySQL异常】ExecutorException: Error getting generated key or setting result to parameter object

报错信息:Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.executor.ExecutorException: Too many keys are generated. There are only 1 target objects. You either specified a wrong ‘keyProperty’ or encountered a driver bug li………………….

要向一张表批量插入数据,在xml文件中写的插入语句如下:

<insert id="Weixin_insertQrcd" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO ygg_order_qrcode (
            orderid,
            num,
            qrcd,
            qrurl,
            qrsts,
            creator,
            create_date,
            valid
        )
        VALUES
        <foreach collection="list" item="row" separator=",">
            (#{orderid},#{row.num},#{row.qrcd},#{row.qrurl},'1',NULL,now(),'1')
        foreach>
    insert>

useGeneratedKeys = true (使用生成的主键) 这个表示插入数据之后返回一个自增的主键id给你对应实体类中的主键属性。通过这个设置可以解决在主键自增的情况下通过实体的getter方法获取主键(当然还需要keyproperty指明数据库中返回的主键id给实体类中的哪个属性)。
keyproperty = 主键,这样就可以解决在主键自增的情况下获取主键。

【MySQL异常】ExecutorException: Error getting generated key or setting result to parameter object

解决

方案1:
将useGeneratedKeys=”true” 改为 useGeneratedKeys=”false”,或者将useGeneratedKeys=”true”和keyProperty=”id”直接删除

方案2:
配置的Mybatis的版本,高版本的不会出现这个问题。

beautiful!

Original: https://www.cnblogs.com/diaoyulin/p/15778457.html
Author: yl_diao
Title: 【MySQL异常】ExecutorException: Error getting generated key or setting result to parameter object

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/576294/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • IDEA中tomcat插件版本7中文乱码问题

    tomcat插件版本7中文乱码问题 IDEA中tomcat插件版本7中文乱码问题 问题描述: 因为idea中tomcat插件版本只到7,他的默认解码方式为:ISO-8859-1,又…

    数据库 2023年6月16日
    074
  • mysql索引

    MySQL索引: MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 1.创建索引1.1单独创建索引 1.2修改表结构创建索引 1.3创…

    数据库 2023年6月11日
    085
  • show engine innodb status 输出结果解读

    show engine innodb status 输出结果解读 基于MySQL 5.7.32最近想整理一下show engine innodb status的解读,但是发现中文互…

    数据库 2023年6月16日
    0110
  • Vim配置文件-详解(.vimrc)

    Vim配置文件的作用 Vim启动时,会根据配置文件(.vimrc)来设置 Vim,因此我们可以通过此文件来定制适合自己的 Vim 所有系统用户在启动Vim时,都会加载这个配置文件。…

    数据库 2023年6月14日
    072
  • SQL优化

    一、插入优化 批量插入 insert into tb_name values (1,"张三"),(2,"张三"),(3,"张三&q…

    数据库 2023年5月24日
    073
  • Pisanix v0.2.0 发布|新增动态读写分离支持

    1.动态读写分离介绍 1.1 介绍 读写分离是业界使用 MySQL 高可用最常用的方案之一,在实际场景中可以提高查询性能,降低服务器负载。本次版本在 v0.1.0 静态规则基础上增…

    数据库 2023年6月16日
    090
  • flowable 从zip压缩包 部署流程定义

    /**部署流程定义(从zip压缩包) * @param name //部署名称 * @param zippath //zip文件路径 * @return 部署ID * @from …

    数据库 2023年6月6日
    085
  • 常用API(Java)

    Object 场景:当我们使用toString方法想要输出对象变量时,官方提供的toString方法会直接输出对象所在的地址,而不是我们想要的对象变量,所以我们要把toString…

    数据库 2023年6月16日
    084
  • springboot~关于打包时记录当前git信息

    Maven打包发布版本可能会遇到自己的提交不起作用的情况,排查比较困难,可能需要拉下服务器上包,反编译查看是否包含自己的提交记录。如果使用的是GIT作为SCM,可以使用 git-c…

    数据库 2023年6月6日
    086
  • MySQL查询性能优化七种武器之链路追踪

    MySQL优化器可以生成Explain执行计划,我们可以通过执行计划查看是否使用了索引,使用了哪种索引? 但我们并不确切地知道为什么使用这个索引。 [En] But we don&…

    数据库 2023年5月24日
    070
  • redis 从安装到实现远程连接–centos7下

    Java 端配置 上面的配置完成后,我们可以创建一个普通的 JavaSE 工程来测试下了,Java 工程创建成功后,添加 Jedis 依赖,如下 然后我们可以通过如下一个简单的程序…

    数据库 2023年6月16日
    079
  • LeetCode 13. 罗马数字转整数

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如,罗马数字2写做II,…

    数据库 2023年6月11日
    085
  • 【黄啊码】这种PHP验证码你值得拥有(注:支持中文)

    csharp;gutter:true; width = $width; $this->height = $height; $this->codeNum = $codeN…

    数据库 2023年6月16日
    092
  • 2022-08-15 – 初识MySQL

    MySQL数据库 数据库 数据库,又称为Database,简称DB。数据库就是一个文件集合。顾名思义:是一个存储数据的仓库,实际上就是一堆文件,这些文件中存储了具有特定格式的数据,…

    数据库 2023年5月24日
    066
  • 数据库中异常与隔离级别

    数据库相对于其它存储软件一个核心的特征是它支持事务,所谓事务的ACID就是原子性,一致性,隔离性和持久性。其中原子性,一致性,持久性更多是关注单个事务本身,比如,原子性要求事务中的…

    数据库 2023年6月9日
    074
  • 常见的位操作及其应用

    概述 与、或、异或、取反或者移位运算这几种基本的位操作想必诸位读者并不陌生,如果我们能在某些合适场景下使用位运算,有些时候可以大大提高算法的效率。但由于本身位运算太过灵活,甚至某些…

    数据库 2023年6月11日
    072
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球