public class Generator extends Object
| Modifier and Type | Field and Description |
|---|---|
protected BaseModelGenerator |
baseModelGenerator |
protected DataDictionaryGenerator |
dataDictionaryGenerator |
protected Dialect |
dialect |
protected boolean |
generateDataDictionary |
protected MappingKitGenerator |
mappingKitGenerator |
protected MetaBuilder |
metaBuilder |
protected ModelGenerator |
modelGenerator |
| Constructor and Description |
|---|
Generator(DataSource dataSource,
BaseModelGenerator baseModelGenerator) |
Generator(DataSource dataSource,
BaseModelGenerator baseModelGenerator,
ModelGenerator modelGenerator)
使用指定 BaseModelGenerator、ModelGenerator 构造 Generator
生成 BaseModel、Model、MappingKit 三类文件,其中 MappingKit 输出目录与包名与 Model相同
|
Generator(DataSource dataSource,
String baseModelPackageName,
String baseModelOutputDir)
构造 Generator,只生成 baseModel
|
Generator(DataSource dataSource,
String baseModelPackageName,
String baseModelOutputDir,
String modelPackageName,
String modelOutputDir)
构造 Generator,生成 BaseModel、Model、MappingKit 三类文件,其中 MappingKit 输出目录与包名与 Model相同
|
| Modifier and Type | Method and Description |
|---|---|
void |
addBlacklist(String... tableNames)
添加要排除的 tableName 到黑名单。使用黑名单功能时,只有处在黑名单中的 table 才会被过滤
|
void |
addExcludedTable(String... excludedTables)
添加不需要处理的数据表
|
void |
addTypeMapping(Class<?> from,
Class<?> to)
为生成器添加类型映射,将数据库反射得到的类型映射到指定类型,
从而在生成过程中用指定类型替换数据反射得到的类型
添加的映射可以覆盖默认的映射,从而可以自由定制映射关系
|
void |
addTypeMapping(String from,
String to)
与 addTypeMaping(Class> from, Class> to) 功能一致,保是参数类型不同
示例:
generator.addTypeMaping("java.sql.Date", "java.time.LocalDateTime")
|
void |
addWhitelist(String... tableNames)
添加要生成的 tableName 到白名单。使用白名单功能时,只有处在白名单中的 table 才会参与生成
|
void |
configBaseModelGenerator(Func.F10<BaseModelGenerator> baseModelGenerator)
配置 BaseModelGenerator
|
void |
configDataDictionaryGenerator(Func.F10<DataDictionaryGenerator> dataDictionaryGenerator)
配置 DataDictionaryGenerator
|
void |
configMappingKitGenerator(Func.F10<MappingKitGenerator> mappingKitGenerator)
配置 MappingKitGenerator
|
void |
configMetaBuilder(Func.F10<MetaBuilder> metaBuilder)
配置 MetaBuilder
|
void |
configModelGenerator(Func.F10<ModelGenerator> modelGenerator)
配置 ModelGenerator
|
void |
generate() |
MetaBuilder |
getMetaBuilder()
获取 MetaBuilder 后方便使用其内部方法
|
void |
removeBlacklist(String tableName) |
void |
removeTypeMapping(Class<?> from) |
void |
removeTypeMapping(String from) |
void |
removeWhitelist(String tableName) |
void |
setBaseModelTemplate(String baseModelTemplate)
设置用于生成 BaseModel 的模板文件,模板引擎将在 class path 与 jar 包内寻找模板文件
默认模板为:"/com/litongjava/db/activerecord/generator/base_model_template.jf"
|
void |
setDataDictionaryFileName(String dataDictionaryFileName)
设置数据字典 DataDictionary 文件输出目录,默认值为 "_DataDictionary.txt"
|
void |
setDataDictionaryGenerator(DataDictionaryGenerator dataDictionaryGenerator)
设置 DataDictionaryGenerator,便于扩展自定义 DataDictionaryGenerator
|
void |
setDataDictionaryOutputDir(String dataDictionaryOutputDir)
设置数据字典 DataDictionary 文件输出目录,默认与 modelOutputDir 相同
|
void |
setDialect(Dialect dialect)
设置数据库方言,默认为 MysqlDialect
|
void |
setFetchFieldAutoIncrement(boolean fetchFieldAutoIncrement)
配置是否取出字段的自增属性
|
void |
setGenerateChainSetter(boolean generateChainSetter)
设置 BaseModel 是否生成链式 setter 方法
|
void |
setGenerateDaoInModel(boolean generateDaoInModel)
设置是否在 Model 中生成 dao 对象,默认生成
|
void |
setGenerateDataDictionary(boolean generateDataDictionary)
设置是否生成数据字典 Dictionary 文件,默认不生成
|
void |
setGenerateRemarks(boolean generateRemarks)
配置是否生成字段备注,生成的备注会体现在 Base Model 之中
默认值为 false
|
void |
setGenerateView(boolean generateView)
配置是否生成 view。默认值为 false
|
void |
setMappingKitClassName(String mappingKitClassName)
设置 MappingKit 类名,默认值为: "_MappingKit"
|
void |
setMappingKitGenerator(MappingKitGenerator mappingKitGenerator)
设置 MappingKitGenerator,便于扩展自定义 MappingKitGenerator
|
void |
setMappingKitOutputDir(String mappingKitOutputDir)
设置 MappingKit 文件输出目录,默认与 modelOutputDir 相同,
在设置此变量的同时需要设置 mappingKitPackageName
|
void |
setMappingKitPackageName(String mappingKitPackageName)
设置 MappingKit 文件包名,默认与 modelPackageName 相同,
在设置此变的同时需要设置 mappingKitOutputDir
|
void |
setMappingKitTemplate(String mappingKitTemplate)
设置用于生成 MappingKit 的模板文件,模板引擎将在 class path 与 jar 包内寻找模板文件
默认模板为:"/com/litongjava/db/activerecord/generator/mapping_kit_template.jf"
|
void |
setMetaBuilder(MetaBuilder metaBuilder)
设置 MetaBuilder,便于扩展自定义 MetaBuilder
|
void |
setModelTemplate(String modelTemplate)
设置用于生成 Model 的模板文件,模板引擎将在 class path 与 jar 包内寻找模板文件
默认模板为:"/com/litongjava/db/activerecord/generator/model_template.jf"
|
void |
setRemovedTableNamePrefixes(String... removedTableNamePrefixes)
设置需要被移除的表名前缀,仅用于生成 modelName 与 baseModelName
例如表名 "osc_account",移除前缀 "osc_" 后变为 "account"
|
void |
setTypeMapping(TypeMapping typeMapping)
切换 TypeMapping
jfinal 4.9.08 版本新增了 addTypeMapping(...) 可以替代该方法的使用
|
protected Dialect dialect
protected MetaBuilder metaBuilder
protected BaseModelGenerator baseModelGenerator
protected ModelGenerator modelGenerator
protected MappingKitGenerator mappingKitGenerator
protected DataDictionaryGenerator dataDictionaryGenerator
protected boolean generateDataDictionary
public Generator(DataSource dataSource, String baseModelPackageName, String baseModelOutputDir, String modelPackageName, String modelOutputDir)
dataSource - 数据源baseModelPackageName - base model 包名baseModelOutputDir - base mode 输出目录modelPackageName - model 包名modelOutputDir - model 输出目录public Generator(DataSource dataSource, String baseModelPackageName, String baseModelOutputDir)
dataSource - 数据源baseModelPackageName - base model 包名baseModelOutputDir - base mode 输出目录public Generator(DataSource dataSource, BaseModelGenerator baseModelGenerator)
public Generator(DataSource dataSource, BaseModelGenerator baseModelGenerator, ModelGenerator modelGenerator)
public void configMetaBuilder(Func.F10<MetaBuilder> metaBuilder)
public void configBaseModelGenerator(Func.F10<BaseModelGenerator> baseModelGenerator)
public void configModelGenerator(Func.F10<ModelGenerator> modelGenerator)
public void configMappingKitGenerator(Func.F10<MappingKitGenerator> mappingKitGenerator)
public void configDataDictionaryGenerator(Func.F10<DataDictionaryGenerator> dataDictionaryGenerator)
public void setMetaBuilder(MetaBuilder metaBuilder)
public MetaBuilder getMetaBuilder()
例如:
// 调用 skip 方法定制 table 过滤:
generator.getMetaBuilder().skip(tableName -> tableName.endsWith("_old"));
public void setGenerateRemarks(boolean generateRemarks)
public void setGenerateView(boolean generateView)
public void setFetchFieldAutoIncrement(boolean fetchFieldAutoIncrement)
public void setTypeMapping(TypeMapping typeMapping)
public void addTypeMapping(Class<?> from, Class<?> to)
例如:
generator.addTypeMaping(LocalDateTime.class, LocalDateTime.class)
generator.addTypeMaping(LocalDate.class, LocalDate.class)
例如:
generator.addTypeMaping(java.sql.Date.class, LocalDateTime.class)
以上配置在生成 base model 时碰到 Date 类型时会生成为 LocalDateTime 类型public void removeTypeMapping(Class<?> from)
public void addTypeMapping(String from, String to)
public void removeTypeMapping(String from)
public void setMappingKitGenerator(MappingKitGenerator mappingKitGenerator)
public void setDataDictionaryGenerator(DataDictionaryGenerator dataDictionaryGenerator)
public void setDialect(Dialect dialect)
public void setBaseModelTemplate(String baseModelTemplate)
public void setGenerateChainSetter(boolean generateChainSetter)
public void setRemovedTableNamePrefixes(String... removedTableNamePrefixes)
public void addWhitelist(String... tableNames)
public void removeWhitelist(String tableName)
public void addBlacklist(String... tableNames)
public void removeBlacklist(String tableName)
public void addExcludedTable(String... excludedTables)
public void setModelTemplate(String modelTemplate)
public void setGenerateDaoInModel(boolean generateDaoInModel)
public void setGenerateDataDictionary(boolean generateDataDictionary)
public void setMappingKitTemplate(String mappingKitTemplate)
public void setMappingKitOutputDir(String mappingKitOutputDir)
public void setMappingKitPackageName(String mappingKitPackageName)
public void setMappingKitClassName(String mappingKitClassName)
public void setDataDictionaryOutputDir(String dataDictionaryOutputDir)
public void setDataDictionaryFileName(String dataDictionaryFileName)
public void generate()
Copyright © 2026. All rights reserved.