项目适 Oracle改造及SSL安全性配置问题汇总详解
发布时间:2025-05-17 01:00:56
作者:益华网络
来源:undefined
浏览量(2)
点赞(2)
摘要:背景 项目开发初期使用 MySQL ,后期需要适配 Oracle ,总结适配过程及多数据库支持时,从开发初期就需要考虑的几点。 另外,总结几点最近半年开发过程中的技术问题。坑都填了,也该是时候记录一下填坑的经过了,要不然下次可能还会踏入同一个坑。
背景
项目开发初期使用 MySQL ,后期需要适配 Oracle ,总结适配过程及多数据库支持时,从开发初期就需要考虑的几点。
另外,总结几点最近半年开发过程中的技术问题。坑都填了,也该是时候记录一下填坑的经过了,要不然下次可能还会踏入同一个坑。
Oracle 适配点
表名称长度限制,支持 Oracle 12C 以下是需要考虑 30个字符的限制。 Oracle 关键字 USER 不能乱用做别名.跟 MySQL 不一样,Oracle 有一张特殊的用户表名称就是 USER。 Oracle 没有默认转义符号,支持模糊查询时,需要手动编写查询语句指定 ESCAPE 字符。这点 MyBatisPlus 插件的模糊查询爱莫能助,所以还是需要自定义模糊查询 SQL。好在 MySQL 和 Oracle 的 ESCAPE 语法是是一样的,可以统一。此外字符串连接函数 CONCAT 也应该以 Oracle 为主,只能有两个参数。 Oracle 的字段长度,一个中文的长度是2,这点与 MySQL 不一样。可变长度、允许输入中文的字段,都需要自动扩大到 MySQL 的2 倍长。 Oracle 的 null 值插入或者更新时的异常问题,可以通过 MyBatisPlus 的全局配置 jdbc-type-for-null: null 统一解决。 Oracle 区分大小写的,SQL 语法中注意小写是否真的是小写,如果是,需要加引号转义。 MySQL 的 text 或者 LongText 字段,对应 NCLOB VS VARCHAR(4000),有些特殊字段需要超长字符的,有个四千的边界,超过就需要用 NCLOB 类型。其他低级错误
有些低级错误,比如:
yml 配置冒号后面要有空格,特殊字符用单引号。 IDEA 将普通 Java 工程导出可执行 jar 的时候,MANTIFET 清单文件生成的目录必须放在 src 下面,否则打包生成的文件执行时找不到主类。 迭代器遍历的正确用法是 while(it.hasNext)而非 if ,后者只会执行一次。再次印证了一句经验:不要相信拷贝来的代码,除非经过了你的测试。 精度丢失问题,一个简单的计算指定周期的时间戳的代码,未考虑精度问题而溢出: ?扫一扫,关注我们
声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。
2