mybatis中oracle转mysql

刚来公司实习,遇到的第一个任务就是这个,简单记录一下思路过程。人菜的很,没啥参考价值。

测试时:

将现有的oracle库转为mysql 用的Navicat自带数据传输功能,简单粗暴

出现的问题:

1.原本在oracle中 NUMBER类型的字段转为了decimal。

(1)Oracle使用序列(SEQUENCE)实现的主键递增,原本表主键是没有AUTO_INCREMENT。

(2)有些decimal类型的字段是主键。

(3)Decimal不能设置AUTO_INCREMENT。

解决方法:

百度了一哈,解决方法分两种:

1:不去管它,在mysql中用函数模拟序列实现主键递增,在mapper中的序列稍作修改就可以了。

2:将decimal手动改为支持AUTO_INCREMENT的类型,删除mapper中的序列。

因为笔者很菜,所有我这里选用了第二种办法,将表中所有decimal字段改为bigint类 型(还挺麻烦的)。

因为目前用到的库只有字符串和数字两种类型,所以数据库目前只做了以上修改。

修改mapper:

主要注意以下几点:

1 分页查询:用的插件,改改配置就行了。有些查询直接写在sql中,需手动改。

ROWNUM < ‘5‘ 改为 limit 5 ,同理取结果集的第一条时,使用limit 1。

2 空字符串问题:Oracle中空字符串‘‘就是null(也就是说,只有null,没有空字符),而MySQL是区分null和‘‘的。所以改为

类似这样子。

3 自增主键:直接删去序列。

4 将mapper中的数据类型做对应。

百度一下 Mybatis JdbcType与Oracle、MySql数据类型对应列表。

我这里具体操作为将所有NUMERIC改为BIGINT,

jdbcType="CLOB" 改为varchar。

5 在本来的oracle中有user表,因为与关键字冲突的原因,在mapper中写为”USER”,mysql中需要将双引号去掉。

6 mysql的substr不能加双引号,而且是从1开始(oracle是从0开始)。

2018.12.21

项目还未结束,还会更新。。

注:在实际操作中会遇到很多问题,多将代码复制到可视化工具里运行一下看看。

原文地址:https://www.cnblogs.com/xuee/p/10155269.html

时间: 2024-10-24 15:33:58

mybatis中oracle转mysql的相关文章

Mybatis中oracle、mysql、db2、sql server的like模糊查询

<!-- oracle --> <select id="searchUserBySearchName" parameterType="java.lang.String" resultType="com.urm.entity.User"> select * from t_user where user_name like CONCAT('%',#{search_name},'%') </select> <!

SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架

说明:JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架 bootstrap(可换皮肤) 1.支持APP手机应用(android和ios)接口调用 2.全新高大尚HTML5+css3.0+bootstrap开发界面UI,美观漂亮时尚.前沿(自动适配PC.平板.手机(需求微调)屏幕) 3.有ORACLE 和MYSQL ,Spring3.0,4.0版本各一个,一共4套版本全部提供的是源代码 4.框架搭建完善,在此基础上做过很多项目,身经百战,

hibernate4中oracle,sqlserver,mysql数据库的sql方言配置(SQL Dialects)

hibernate4中oracle,mysql,sqlserver数据库的sql方言配置(SQL Dialects) 数据库类型 Hibernate sql方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS390 org.hibernate.dialect.DB2390Dialect PostgreSQL 8.1 org.hibernate.dialect.Po

JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚

说明:JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架 bootstrap 1.支持APP手机应用(android和ios)接口调用 2.全新高大尚HTML5+css3.0+bootstrap开发界面UI,美观漂亮时尚.前沿 3.有ORACLE 和MYSQL ,Spring3.0,4.0版本各一个,一共4套版本全部提供源代码 4.框架搭建完善,在此基础上做过很多项目,身经百战,支持大并发,程序运行稳定. 5.基础功能已经完善,此为框架平

【最新】JAVA Spring mvc +mybatis(oracle 和 mysql) HTML5

说明:JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架 1.支持APP手机应用(android和ios)接口调用(json接口可与其它程序对接) 2.全新高大尚全HTML5+css3.0开发界面,美观漂亮时尚.前沿 3.有ORACLE 和MYSQL 版本各一个 4.框架搭建完善,在此基础上做过很多项目,身经百战,支持大并发,程序运行稳定 5.基础功能已经完善 组织管理:类似角色管理,分角色组和成员,有组权限和成员权限.菜单权限,独立分配

JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 bootstrap全新高大尚后台框架

说明:JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架 bootstrap 1.支持APP手机应用(android和ios)接口调用 2.全新高大尚HTML5+css3.0+bootstrap开发界面UI,美观漂亮时尚.前沿 3.有ORACLE 和MYSQL ,Spring3.0,4.0版本各一个,一共4套版本全部提供源代码 4.框架搭建完善,在此基础上做过很多项目,身经百战,支持大并发,程序运行稳定. 5.基础功能已经完善,此为框架平

JAVA spring mvc +mybatis(oracle 和 mysql) HTML5

说明:JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架 bootstrap(可换皮肤) 1.支持APP手机应用(android和ios)接口调用 2.全新高大尚HTML5+css3.0+bootstrap开发界面UI,美观漂亮时尚.前沿(自动适配PC.平板.手机(需求微调)屏幕) 3.有ORACLE 和MYSQL ,Spring3.0,4.0版本各一个,一共4套版本全部提供源代码 4.框架搭建完善,在此基础上做过很多项目,身经百战,支持

JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架 bootstrap

说明:JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架 bootstrap 1.支持APP手机应用(android和ios)接口调用 2.全新高大尚HTML5+css3.0+bootstrap开发界面UI,美观漂亮时尚.前沿 3.有ORACLE 和MYSQL ,Spring3.0,4.0版本各一个,一共4套版本全部提供源代码 4.框架搭建完善,在此基础上做过很多项目,身经百战,支持大并发,程序运行稳定. 5.基础功能已经完善,此为框架平

SSM springmvc mybatis(oracle 和 mysql sqlserver) HTML5 全新高大尚后台框架 bootstrap

获取[下载地址]   QQ: 313596790   [免费支持更新]三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单; QQ:313596790freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块B 集成阿里巴巴数据库连接池dru