JFinal-JBolt開發(fā)平臺(tái)從入門到精通-系列教程
使用Oracle和Mysql的大致流程一樣的,JBolt底層做了自適應(yīng)開發(fā)。
主要流程可以看此文:
JBolt極速開發(fā)平臺(tái)是如何設(shè)計(jì)啟動(dòng)流程的,看完解惑!
只要db_type=oracle
dbconfig/oracle下的配置文件修改為你oracle的配置即可。
這里重點(diǎn)拿出一文講Oracle版是因?yàn)镺racle特殊性,特殊在id_gen_mode屬性配置上。
在Mysql和SqlServer數(shù)據(jù)庫中都可以主鍵自增,直接使用int類型即可。
但是在Oracle中沒有id自增特性,如果需要跟Mysql一樣在java里Model的id使用Integer類型
那么Oracle中的ID類型設(shè)置為number(9)即可,代碼生成器會(huì)生成integer類型。
但是需要早Oracle里單獨(dú)創(chuàng)建每個(gè)表對(duì)應(yīng)的自增序列sequence,來為id提供自增值。
此時(shí),如果確定依然使用Integer類型的ID 那么id_gen_mode=sequence 即可,JBolt底層會(huì)自動(dòng)給你處理這個(gè)事兒了,無需操心。
那么,問題來了,有些項(xiàng)目不想使用Integer類型的ID,需要String類型或者Long類型的,怎么搞?
JBolt里已經(jīng)內(nèi)置了解決方案,只需要在readme文件夾下,找到j(luò)bolt_oracle_stringid.sql導(dǎo)入即可使用string類型的ID,導(dǎo)入jbolt_oracle_longid.sql即可使用long類型的ID。
針對(duì)這兩種ID,只需要在主配置文件里配置id_gen_mode=uuid 即可使用uuid字符串適配string類型ID,id_gen_mode=snowflake 既能適配String類型ID又能適配Long類型ID。
只需要配置,無需關(guān)心賦值實(shí)現(xiàn),JBolt都已經(jīng)封裝好了自動(dòng)處理。
最后,配置完數(shù)據(jù)庫和ID生成模型,就需要重新執(zhí)行以下內(nèi)置代碼生成器了,如果
id_gen_mode你設(shè)置的是sequence 并且數(shù)據(jù)庫導(dǎo)入sql 用的默認(rèn)jbolt_oracle.sql那么無需執(zhí)行生成器。
如果id_gen_mode選擇是的uuid或者snowflake,sql選擇的string或者long版 就需要執(zhí)行生成器。
生成器位置:cn.jbolt.common.gen.JFinalModelGenerator.java
運(yùn)行即可。