JFinal-JBolt开发平台从入门到精通-系列教程
使用Oracle和Mysql的大致流程一样的,JBolt底层做了自适应开发。
主要流程可以看此文:
JBolt极速开发平台是如何设计启动流程的,看完解惑!
只要db_type=oracle
dbconfig/oracle下的配置文件修改为你oracle的配置即可。
这里重点拿出一文讲Oracle版是因为Oracle特殊性,特殊在id_gen_mode属性配置上。
在Mysql和SqlServer数据库中都可以主键自增,直接使用int类型即可。
但是在Oracle中没有id自增特性,如果需要跟Mysql一样在java里Model的id使用Integer类型
那么Oracle中的ID类型设置为number(9)即可,代码生成器会生成integer类型。
但是需要早Oracle里单独创建每个表对应的自增序列sequence,来为id提供自增值。
此时,如果确定依然使用Integer类型的ID 那么id_gen_mode=sequence 即可,JBolt底层会自动给你处理这个事儿了,无需操心。
那么,问题来了,有些项目不想使用Integer类型的ID,需要String类型或者Long类型的,怎么搞?
JBolt里已经内置了解决方案,只需要在readme文件夹下,找到jbolt_oracle_stringid.sql导入即可使用string类型的ID,导入jbolt_oracle_longid.sql即可使用long类型的ID。
针对这两种ID,只需要在主配置文件里配置id_gen_mode=uuid 即可使用uuid字符串适配string类型ID,id_gen_mode=snowflake 既能适配String类型ID又能适配Long类型ID。
只需要配置,无需关心赋值实现,JBolt都已经封装好了自动处理。
最后,配置完数据库和ID生成模型,就需要重新执行以下内置代码生成器了,如果
id_gen_mode你设置的是sequence 并且数据库导入sql 用的默认jbolt_oracle.sql那么无需执行生成器。
如果id_gen_mode选择是的uuid或者snowflake,sql选择的string或者long版 就需要执行生成器。
生成器位置:cn.jbolt.common.gen.JFinalModelGenerator.java
运行即可。
网友评论