今天用springboot和oracle的时候遇到以前的老项目保存数据的时候显示报错

Error getting generated key or setting result to parameter object

根据这句话的字面理解意思就是  获取生成的键或将结果设置为参数对象时出错

看了下网上的解决方法主要是这样

第一种方式:

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

看了一下这种方式不适合我 、我没有编写xml文件

第二种方式:

Mybatis版本低的原因造成的、需要配置更搞得版本--我也忽略了

第三种方式:

设置@Options(useGeneratedKeys=true,keyProperty=“id”)主键

useGeneratedKeys=true表示使用数据库自动增长的主键,

keyColumn用于指定数据库table中的主键,

keyProperty用于指定传入对象的成员变量。设置是否使用JDBC的getGenereatedKeys()方法获取主键并赋值到keyProperty设置的对象的属性中,

也就是就是把自增长的主键值赋值给对象相应的属性。也不适合我、因为我没有编写xml和mapper、用的mybatis-plus底层提供了这些方法

最终解决方法:

1)在MybatisPlusConfig配置文件中加入OracleKeyGenerator的bean配置,让mp支持oracle主键策略。


package  io.renren.config;import com.baomidou.mybatisplus.incrementer.OracleKeyGenerator;
import com.baomidou.mybatisplus.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** mybatis-plus配置** @author lyy * @since  2021-9-17*/
@Configuration
public class MybatisPlusConfig {/*** 分页插件*/@Beanpublic PaginationInterceptor paginationInterceptor() {return new PaginationInterceptor();}/*** Sequence主键自增*/@Beanpublic OracleKeyGenerator oracleKeyGenerator() {return new OracleKeyGenerator();}
}

在每一个实体类Id属性上添加

@TableId(value = “id”, type = IdType.AUTO)
private Long id;

完美解决。。。。。。。。。

ORACLE 12C 插入数据遇到 Error getting generated key or setting result to parameter object错误相关推荐

  1. Error selecting key or setting result to parameter object. Cause: java.sql.SQLSyntaxErrorException

    ## 通用mapper insertSelective方法报语法错误 报错信息如下 Caused by: java.sql.SQLSyntaxErrorException: You have an e ...

  2. Error selecting key or setting result to parameter object.

    Error selecting key or setting result to parameter object. :选择键或将结果设置为参数对象时出错. 'LAST_INSERT_ID' is n ...

  3. Java Mybatis Error selecting key or setting result to parameter object

    Java Mybatis Error selecting key or setting result to parameter object 链接:https://blog.csdn.net/hqbo ...

  4. 在<selectKey></selectKey>标签中使用多个sql语句时报错;Error selecting key or setting result to parameter object. C

    错误记录 今天想使用时间的格式化来作为主键,一开始还很顺利 创建_date表,使用系统时间表作为为另一个表的id -- 插入数据 insert into _date(createTime) value ...

  5. MyBatis在Oracle中插入数据并返回主键的问题解决

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 前言:我早期用过这个方法,但是返回的依旧是影响行数,不是主键. 只是这种写法可以达到我要的效果: 用 ...

  6. 使用mybatis向oracle数据库插入数据异常

    遇到了使用mybatis向oracle数据库插入数据异常的问题, 具体的报错如下:org.springframework.jdbc.UncategorizedSQLException: ### Err ...

  7. oracle insert汉字出错,Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名...

    本文主要向大家介绍了Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库,用 ...

  8. Oracle批量插入数据

    Oracle批量插入数据 学习了:http://blog.csdn.net/chenleixing/article/details/45165761/ 膜拜一下,引用原文: 那么有没有其他方法呢??答 ...

  9. mysql1526_MySQL数据库插入数据出现 ERROR 1526 (HY000): Table has no partition for value xxx

    MySQL数据库插入数据出现 ERROR 1526 (HY000): Table has no partition for value xxx 工作的时候发现无法插入数据,报错: ERROR 1526 ...

最新文章

  1. 用IE重起计算机或者关机
  2. ImageMagick convert
  3. 最新的苹果M1芯片电脑别急着买,Docker容器还未能支持!
  4. python request-python3的request用法实例
  5. Vue学习(一)-邂逅Vuejs
  6. Java-Java I/O 字节流之BufferedReader/BufferedWriter
  7. 【Docker】Docker 删除所有容器和镜像
  8. 2018-2019 ACM-ICPC, Asia Shenyang Regional Contest E. The Kouga Ninja Scrolls 切比雪夫距离 +线段树
  9. sql语句执行步骤详解
  10. VDI序曲十四 使用 RemoteFX 安装和配置 USB 重定向
  11. 思科修复 ASA/FTD 防火墙高危缺陷,已遭利用
  12. java 加锁_Java中的重重“锁”事
  13. PowerDesigne 建立概念数据模型
  14. 芯片行业常用英文术语最详细总结(图文快速掌握)
  15. 2018年(第17届)中国软件业务收入前百家企业名单
  16. 使用调式音阶即兴 一
  17. 70道关于JavaScript的常见面试题解答
  18. formCreate
  19. 解决58同城使用font-face进行字符替换
  20. C语言程序设计谭浩强(第四版)部分课后习题作答——第六章-输出杨辉三角,输出魔方阵

热门文章

  1. Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration.
  2. Lambda表达式及应用
  3. vue限制只能输入数字_vue的input中,如何限制只能输入number
  4. derby mysql 同步_[Derby]数据库操作说明
  5. c语言字符串定界符,关于c ++:按字符分割字符串
  6. react的导出是怎么实现的_从零开始开发一个 React
  7. 如何卸载服务器的系统,卸载服务器的操作系统
  8. Win10声音图标呈灰色的解决教程
  9. win7如何设置还原点
  10. jeecg getParameter