公司我的项目基于mysql根本已开发实现,忽然要换数据库,原本认为就是批改一下配置文件,后果各种报错各种问题,,,次要有以下几个问题:

1.关键字问题

comment、start等在oracle中是关键字,不能用来命名表名和字段名,将mysql数据结构转到oracle时,会主动在开端加下划线,如start_,这时还要批改javaBean、mapper的xml文件等。

2.text类型的转换

mysql中text类型会主动转换为oracle的clob类型,clob是大数据字段类型,查问效率慢,所以当存储的数据长度<4000时,改类型为varchar2(4000)

3.空字符串问题

最大的问题是mysql中是有空字符串的与null不同,而oracle中空字符串(“”)就是null,数据转为oracle时会变为空格(“ “),导致系统查问不出数据,这时如果将数据设置为null,
查问条件又会过滤属性为null的查问,还是不满足条件;也想过就应用空格查问,然而mybatis拼接查问条件时,会将空格trim,查问的是空字符串,如:select * from user where form_code = ‘’;
这时数据库中的数据无论是null还是空格都查问不出;思量过后还是应用”default”代替了空字符串的数据,这时就要全局批改该字段的逻辑了。。。

4.大小写问题

将mysql数据库导出数据结构时,建表语句的表名和字段名会有双引号,这时查问语句的表名和字段名可能要与双引号中的表名和字段名大小写统一,创立表时最好去除双引号

5.其余问题

应用JDBC写了limit语句改为rownum语句,还有默认值解决,批量新增语句等问题