基於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朋友們,分享一些他們的技術看法和生活故事。

相關文章
相關標籤/搜索