基于mysql的shiro项目转oracle数据库

一、问题说明

改造之前的一个shiro项目,之前数据库用的mysql,要更改为oracle,记录下,但愿能帮到有须要的朋友。mysql

二、解决方案

由于数据库中表结构,也就6个张表(5个权限表+一个日志表),原方案是想根据数据库字段,转到pownerdesigner中,而后再转出来,后来发现太麻烦放弃了。sql

2.1 使用navicat premium

(1)经过navicat premimum 链接oracle数据库。数据库

(2) 选中数据库,右键选中转储SQL文件,而后选择仅结构,就能导出oracle建表sql了。mybatis

2.2 oracle sql 与mysql的不一样点

(1)cancat函数,链接字符串。oracle

mysql中能够链接多个字符串;oracle只能链接两个,须要链接多个的话,oracle中须要作嵌套。函数

mysql中:3d

SELECT count(0)
FROM sys_user su_a
LEFT JOIN sys_user su_b
ON su_b.id = su_a.create_id
LEFT JOIN sys_user su_c
ON su_c.id = su_a.update_id
WHERE su_a.deleted = 1 AND su_a.username LIKE concat('%', '老王', '%');日志

在oracle中执行blog

报错信息:rem

网上说明:

软件老王真实使用状况,oracle中多个concat嵌套:

mybatis中使用:

(2)oracle中不能执行insert values插入多条记录。

(3)经过navivat或者pownerdesiner导出的oracle建表语句,须要把双引号或者单引号替换为空,不然会出现大小写问题,致使一些没必要要的问题。

(4)给oracle中表字段设置默认值

导出的后默认值可能会没了,假如没有了,须要设置下。

以下:alter table 表名称 modify 字段名 default 具体值;

例如:alter table sys_user modify status default 1;

(5)老shiro项目中,没有用到自增主键,用的逻辑主键,因此没有主键问题,假如用到mysql项目中用到自增主键的朋友,仍是有些问题的,mysql能够直接设置自增主键,oracle中须要新建sequence。


更多信息请关注公众号:「软件老王」,关注不迷路,软件老王和他的IT朋友们,分享一些他们的技术看法和生活故事。

相关文章
相关标签/搜索