项目适 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 ,后者只会执行一次。再次印证了一句经验:不要相信拷贝来的代码,除非经过了你的测试。 精度丢失问题,一个简单的计算指定周期的时间戳的代码,未考虑精度问题而溢出: ?

二维码

扫一扫,关注我们

声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

您身边的【网站建设专家】

搜索千万次不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,公众号系统,软件开发等

立即咨询 15368564009
在线客服
嘿,我来帮您!