mybatis Oracle到Mysql迁移 记录
2016-01-05 00:00
387 查看
摘要: 数据库需要从oracle迁到mysql,记录目前迁移过程中涉及的要点
>数据类型;number(20)-->bigint, date-->datetime, varchar2-->varchar, clob-->longtext, blob-->longblob
>大小写:全部大写
>mysql驱动:
>执行多条sql语句:mysql需要在数据库连接字符串加allowMultiQueries=true
>切换:使用spring profile 或者mybatis的VendorDatabaseIdProvider
>翻页:limit
>主键:
增长AUTO_INCREMENT useGeneratedKeys="true" keyProperty="groupId" ,
或建表和函数|存储过程 模拟oracle的sequence,成功后赋值
>函数:sysdate-->now()
mysql : DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')
oracle: TO_CHAR(SYSDATE,'YYYY-MM-DD hh24:mi:ss')
>转义字符:mysql的转义字符是“\”,oracle转义字符用escape声明。mysql执行sql insert语句时,字符串里的“\”会转义丢失,需要再加“\”
>语法:连接字符串:在Oracle中用|| ,SqlServer中用+,MySQL中用concat('a','b','c')
>语法:insert delete 操作是不允许使用表别名的。oracle可以delete xxx, mysql必须是delete from xxx
>语法:在MySQL中from 后的表如果是(select.......)这种,那么后面必须有别名
>语法:mysql不支持匿名块begin;end;只能写在存储过程中
>保留字:``
>空字符:?
>事务问题:mysql的表的Engine要设置成InnoDB,MyISAM不支持事务。(未解问题:原本oracle版本应用是可以事务回滚的,改成mysql就不行。Engine是InnoDB,spring的事务拦截跟踪也是有走到rollback)
>数据类型;number(20)-->bigint, date-->datetime, varchar2-->varchar, clob-->longtext, blob-->longblob
>大小写:全部大写
>mysql驱动:
>执行多条sql语句:mysql需要在数据库连接字符串加allowMultiQueries=true
>切换:使用spring profile 或者mybatis的VendorDatabaseIdProvider
>翻页:limit
>主键:
增长AUTO_INCREMENT useGeneratedKeys="true" keyProperty="groupId" ,
或建表和函数|存储过程 模拟oracle的sequence,成功后赋值
>函数:sysdate-->now()
mysql : DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')
oracle: TO_CHAR(SYSDATE,'YYYY-MM-DD hh24:mi:ss')
>转义字符:mysql的转义字符是“\”,oracle转义字符用escape声明。mysql执行sql insert语句时,字符串里的“\”会转义丢失,需要再加“\”
>语法:连接字符串:在Oracle中用|| ,SqlServer中用+,MySQL中用concat('a','b','c')
>语法:insert delete 操作是不允许使用表别名的。oracle可以delete xxx, mysql必须是delete from xxx
>语法:在MySQL中from 后的表如果是(select.......)这种,那么后面必须有别名
>语法:mysql不支持匿名块begin;end;只能写在存储过程中
>保留字:``
>空字符:?
>事务问题:mysql的表的Engine要设置成InnoDB,MyISAM不支持事务。(未解问题:原本oracle版本应用是可以事务回滚的,改成mysql就不行。Engine是InnoDB,spring的事务拦截跟踪也是有走到rollback)
相关文章推荐
- oracle回顾复习
- 你能真正读懂Oracle SQL执行计划吗?
- oracle 11g win7 64位 的下载地址
- 关于oracle 10g creating datafile with zero offset for aix
- oracle新建表空间和用户
- **Oracle Client+PL SQL 使用配置**
- oracle获取列的备注和数据类型
- Oracle学习之sql共享以及4031解决方法
- Oracle之存储过程
- linux下oracle设置开机自启动实现方法
- 将oracle dml操作封装为类,成为一个模块
- Oracle建用户 授权 表 表空间的操作
- Oracle创建外键约束
- 底层数据库交互用ibatis,当把程序部署到iis上,报oracle.Microsoft provider V1.0.5000.0 时,解决方案。
- Oracle cloud control 12c 怎样改动sysmanpassword
- oracle count 百万级 分页查询记要总数、总条数优化
- oracle collection
- oracle学习之bulk collect用法
- ORACLE分页SQL语句
- ORACLE中用rownum分页并排序的SQL语句