plsql自動生成java原始碼
plsql自動生成java原始碼[@more@]--注意表名用相應表名去替換下面的表名都為oper_log
--fb/vo 屬性
column properties format a256;
select 'private String '||LOWER(A.COLUMN_NAME)||';//'||B.COMMENTS properties FROM user_tab_cols A,user_col_comments B
WHERE A.TABLE_NAME=B.TABLE_NAME AND LOWER(A.TABLE_NAME)='oper_log'
and a.COLUMN_NAME=b.COLUMN_NAME
;
--生成sql語句
--注意Sys_Connect_By_Path引數的欄位中有','時不能用','去分隔,改為用'@@',然後再替換為','
--用Sys_Connect_By_Path(COLUMN_NAME, ',')時將行轉換成列時,每一行都加',',所以第一個要去掉用substr(str,2)
--對日期型的格式為'yyyy-mm-dd hh:MI:ss',可自己替換
column s format a200;
Select replace('SELECT '||substr(Sys_Connect_By_Path(COLUMN_NAME, ','),2)||' FROM '||table_name||' WHERE 1=1','@@',',') S
From (
SELECT Rownum Rid,
DECODE(A.DATA_TYPE,'DATE',
'TO_CHAR('||A.COLUMN_NAME||'@@'||CHR(39)||'yyyy-mm-dd hh:MI:ss'||CHR(39)||') '||A.COLUMN_NAME,
A.COLUMN_NAME) COLUMN_NAME,TABLE_NAME
FROM USER_TAB_COLS A
WHERE A.TABLE_NAME='OPER_LOG'
)
Where Rid =
(
Select Count(*) FROM USER_TAB_COLS A
WHERE A.TABLE_NAME='OPER_LOG'
)
start With Rid = 1
Connect By Prior Rid+1 = Rid
;
--也可以寫成以下這種
column s format a200;
--注意Sys_Connect_By_Path引數的欄位中有','時不能直接用','去分隔,改為用' , '
Select 'SELECT '||substr(Sys_Connect_By_Path(COLUMN_NAME, ' , '),4)||' FROM '||table_name||' WHERE 1=1' S
From (
SELECT Rownum Rid,
DECODE(A.DATA_TYPE,'DATE',
'TO_CHAR('||A.COLUMN_NAME||','||CHR(39)||'yyyy-mm-dd hh:MI:ss'||CHR(39)||') '||A.COLUMN_NAME,
A.COLUMN_NAME) COLUMN_NAME,TABLE_NAME
FROM USER_TAB_COLS A
WHERE A.TABLE_NAME='OPER_LOG'
)
Where Rid =
(
Select Count(*) FROM USER_TAB_COLS A
WHERE A.TABLE_NAME='OPER_LOG'
)
start With Rid = 1
Connect By Prior Rid+1 = Rid
;
--vo設定生成值
--oracle中的initcap與java裡的有點區別
--oracle裡如user_id用initcap取的是User_Id而java裡的是User_id,注意有下劃線的要手動修改
column s format a200;
SELECT 'vo.set'||initcap(A.COLUMN_NAME)||'(dset.getString("'||A.COLUMN_NAME||'"));' s
FROM USER_TAB_COLS A
WHERE lower(A.TABLE_NAME)='oper_log'
;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11419868/viewspace-1011015/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PLSQL8.0自動載入器原始碼SQL原始碼
- Panda ORM原始碼-資料庫表自動生成Java實體類ORM原始碼資料庫Java
- 【楊航】自動生成實體類工具原始碼原始碼
- Java進階之 如何自動生成程式碼Java
- 從Python原始碼註釋,自動生成API文件Python原始碼API
- AOS 自動生成程式碼(三) Service生成
- Java學習之自動裝箱和自動拆箱原始碼分析Java原始碼
- 程式碼自動生成外掛:
- MyBatis Generator自動生成程式碼MyBatis
- 小事: 自動生成Getter程式碼
- 自動生成Statspack的指令碼指令碼
- chagpt自動生成PPT程式碼GPT
- Java自動生成訂單序列號Java
- java程式碼自動生成帶swagger3註解JavaSwagger
- beego 程式碼自動生成器Go
- 自動生成ASH報告指令碼指令碼
- Android JNI 程式碼自動生成Android
- Yii中gii自動生成程式碼
- AWR報告自動生成指令碼指令碼
- 自動生成awr報告指令碼指令碼
- As/IDEA json自動生成java beanIdeaJSONJavaBean
- java 文件自動生成的神器 idocJava
- 一個根據程式碼自動生成UML的外掛,助你看原始碼事半功倍原始碼
- LeaRun.Java快速開發平臺 高效程式碼自動化生成Java
- awr報告每天自動生成指令碼指令碼
- SQL Server映象自動生成指令碼方法SQLServer指令碼
- 利用mybatis-generator自動生成程式碼MyBatis
- java之使用Servlet生成驗證碼的原始碼分享JavaServlet原始碼
- 通過原始碼瞭解Java的自動裝箱拆箱原始碼Java
- 各位有開源介面自動化專案原始碼嗎(java)原始碼Java
- php短視訊原始碼,自動生成驗證碼,支援點選更換驗證碼數字PHP原始碼
- 自定義Mybatis自動生成程式碼規則MyBatis
- 最簡單的mybatis自動程式碼生成MyBatis
- mybatis-generator-程式碼自動生成器MyBatis
- 用深度學習自動生成HTML程式碼深度學習HTML
- 使用shell生成orabbix自動化配置指令碼指令碼
- AWR Report 自動生成指令碼 [final]指令碼
- 一個自動生成oracle job的指令碼Oracle指令碼