数据源从mysql改成oracle,Spring Boot + MyBatis 数据源从 MySQL 切换到 Oracle

写在前面

一个小需求在开发阶段用的是部门常用的 MySQL 数据库,开发测试完准备部署的时候,突然来了句尽量使用生产环境现有的 Oracle 数据库(锅不在我不了解清楚,因为生产环境是 Oracle 数据库这个事儿我在开发前就已经反馈过的,但我们测试环境有一大堆的 MySQL 数据库,之前一直没有部署和用过 Oracle),那得,切个数据源再改改测测吧

本来以为脚本简简单单就是增改查,应该没什么太大问题的,谁知道最终还是遇到了好几个小问题

从 MySQL 到 Oracle

这里先附一个在 MySQL 库测试完全正常的脚本(用一段最小化的脚本来代替项目中的)

insert into cust (cust_name,content,create_date) values (#{custName},#{content},sysdate())

接下来,来依次描述遇到了哪些问题并且怎么修改解决的吧。。

1. ORA-00942: 表或视图不存在

在 Oracle 库建表我用的是 navicat 进行的图形化操作,表名和字段之类的都用了小写,后来导出数据库 sql 语句一看,表名、字段都被加了双引号,就是强制只能匹配小写的那种

MyBatis 脚本里没引号的情况下,这时候会报找不到表

解决办法是重新用 SQL Plus 执行了一下建表语句,这种情况下,表名和字段应该是不再区分大小写,MyBatis 脚本就不用每个去修改加上引号了

2. Cause: java.sql.SQLException: 无效的列类型: 1111

报错的完整内容是

Cause: org.apache.ibatis.type.TypeException: Err

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值