public class SourceConfig extends Object
SourceConfig config = new SourceConfig(sqlManager);
ConsoleOnlyProject project = new ConsoleOnlyProject();
String tableName = "USER"
config.gen(tableName,project)
SourceConfig默认使用sample包下的例子EntitySourceBuilder,MapperSourceBuilder等作为代码生成并输出到控制台
也可以使用SimpleMavenProject 输出到文件目录
用户可以自己扩展SourceConfig,BaseProject,以及 SourceBuilder 来完成自己的代码生成,比如
config.getSourceBuilder().add(new MyControllerSourceBuilder());
ConsoleOnlyProject,
SimpleMavenProject| 限定符和类型 | 类和说明 |
|---|---|
static class |
SourceConfig.PreferDateType
对应的日期类型
|
static class |
SourceConfig.PreferDoubleType
对应的浮点数生成类型
|
| 限定符和类型 | 字段和说明 |
|---|---|
protected boolean |
ignoreDbCatalog |
protected SourceConfig.PreferDateType |
preferDateType |
protected SourceConfig.PreferDoubleType |
preferDoubleType |
protected Properties |
properties
扩展属性,可以在SourceBuilder中使用
|
protected List<SourceBuilder> |
sourceBuilder
配置好的代码生成器,默认有Entity,Mapper,MD
|
protected int |
spaceCount
格式化代码,java模板代码要求按照4个空格写,生成代码最后会替换此变量的空格再输出
|
| 构造器和说明 |
|---|
SourceConfig(SQLManager sqlManager,
boolean addDefault)
使用BeetlSQL默认的的SourceBuilder,参考
addDefault() |
SourceConfig(SQLManager sqlManager,
List<SourceBuilder> sourceBuilder) |
SourceConfig(SQLManager sqlManager,
List<SourceBuilder> sourceBuilder,
SourceConfig.PreferDoubleType preferDoubleType,
SourceConfig.PreferDateType preferDateType) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addDefault()
BeetlSQL提供的默认生成器
EntitySourceBuilder:生成实体
MapperSourceBuilder 生成mapper
MDSourceBuilder 生成md实例文件
|
void |
addSourceBuilder(SourceBuilder builder) |
void |
gen(String tableName,
BaseProject project)
生成指定表的所有Java代码
|
void |
genAll(BaseProject project)
生成
SQLManager 包含的所有表和视图的代码 |
void |
genAll(BaseProject project,
SourceFilter sourceFilter)
生成工程所有代码
|
protected String |
getJavaType(ColDesc desc,
PackageList packageList) |
void |
removeEntityBuilder() |
void |
removeMapperBuilder() |
void |
removeMdBuilder() |
protected Attribute |
toAttribute(TableDesc tableDesc,
ColDesc colDesc,
PackageList packageList) |
protected Entity |
toEntity(TableDesc tableDesc,
PackageList packageList) |
protected List<SourceBuilder> sourceBuilder
protected int spaceCount
protected SourceConfig.PreferDoubleType preferDoubleType
protected SourceConfig.PreferDateType preferDateType
protected boolean ignoreDbCatalog
protected Properties properties
public SourceConfig(SQLManager sqlManager, boolean addDefault)
addDefault()sqlManager - public SourceConfig(SQLManager sqlManager, List<SourceBuilder> sourceBuilder)
public SourceConfig(SQLManager sqlManager, List<SourceBuilder> sourceBuilder, SourceConfig.PreferDoubleType preferDoubleType, SourceConfig.PreferDateType preferDateType)
public void addDefault()
public void removeEntityBuilder()
public void removeMapperBuilder()
public void removeMdBuilder()
public void addSourceBuilder(SourceBuilder builder)
public void gen(String tableName, BaseProject project)
tableName - project - public void genAll(BaseProject project, SourceFilter sourceFilter)
project - sourceFilter - 过滤器public void genAll(BaseProject project)
SQLManager 包含的所有表和视图的代码project - protected Entity toEntity(TableDesc tableDesc, PackageList packageList)
protected Attribute toAttribute(TableDesc tableDesc, ColDesc colDesc, PackageList packageList)
protected String getJavaType(ColDesc desc, PackageList packageList)
Copyright © 2021. All rights reserved.