ExecutorException: Error getting generated key or setting result to parameter object

本文目录

1、报错信息

2、错误原因

3、解决方法

方案1:

方案2:


1、报错信息

运行环境:springboot + mybatis,数据库为mysql,映射xml文件配置信息useGeneratedKeys="true"

最近在检查一个项目,业务是向数据库中插入一条数据(记录), 发现了一个错,报错信息如下:

Caused by: org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object

2、错误原因

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

useGeneratedKeys是设置数据库主键自动增长,而数据库表本身已经是主键自动增长了,所以这个配置就多余了。


3、解决方法

方案1:

将useGeneratedKeys="true" 改为 useGeneratedKeys="false",或者将useGeneratedKeys="true"和keyProperty="id"直接删除

方案2:

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章