doc: 完善 代码生成器 文档。

This commit is contained in:
Suomm 2023-08-21 10:05:22 +08:00
parent 4d0efd1005
commit 683515b367

View File

@ -197,10 +197,11 @@ globalConfig.enableEntity()
## 注释配置 `JavadocConfig`
| 配置 | 描述 | 默认值 |
|---------------------------------|-----------------|---------------------------------|
|----------------------------------|-----------------|---------------------------------|
| setAuthor(String) | 作者 | System.getProperty("user.name") |
| setSince(String) | 自 | 日期yyyy-MM-dd |
| setTableCommentFormat(Function) | 表名格式化 | 原表名 |
| setTableCommentFormat(Function) | 表注释格式化 | 原表注释 |
| setColumnCommentFormat(Function) | 字段注释格式化 | 原字段注释 |
| setEntityPackage(String) | Entity 包注释 | "实体类层Entity软件包。" |
| setMapperPackage(String) | Mapper 包注释 | "映射层Mapper软件包。" |
| setServicePackage(String) | Service 包注释 | "服务层Service软件包。" |
@ -217,7 +218,7 @@ globalConfig.getJavadocConfig()
## 包配置 `PackageConfig`
| 配置 | 描述 | 默认值 |
|-------------------------------|----------------|---------------------------------------------------|
|-------------------------------|----------------|---------------------------------------------------------------|
| setSourceDir(String) | 文件输出目录 | System.getProperty("user.dir") + "/src/main/java" |
| setBasePackage(String) | 根包名 | "com.mybatisflex" |
| setEntityPackage(String) | Entity 包名 | getBasePackage() + ".entity" | |
@ -226,7 +227,7 @@ globalConfig.getJavadocConfig()
| setServiceImplPackage(String) | ServiceImpl 包名 | getBasePackage() + ".service.impl" | |
| setControllerPackage(String) | Controller 包名 | getBasePackage() + ".controller" | |
| setTableDefPackage(String) | TableDef 包名 | getEntityPackage() + ".tables" | |
| setMapperXmlPath(String) | MapperXml 路径 | getSourceDir() + "/resources/mapper" | |
| setMapperXmlPath(String) | MapperXml 路径 | System.getProperty("user.dir") + "/src/main/resources/mapper" | |
```java
globalConfig.getPackageConfig()
@ -243,10 +244,11 @@ globalConfig.getPackageConfig()
| setVersionColumn(String) | 乐观锁的字段名称 | null |
| setGenerateForView(boolean) | 是否生成视图映射 | false |
| setTableConfig(TableConfig) | 单独为某张表添加独立的配置 | null |
| setGenerateSchema(String) | 生成哪个schema下的表 | null |
| setColumnConfig(ColumnConfig) | 设置某个列的全局配置 | null |
| setGenerateSchema(String) | 生成哪个schema下的表 | null |
| setGenerateTables(String...) | 生成哪些表,白名单 | null |
| setUnGenerateTables(String...) | 不生成哪些表,黑名单 | null |
| setIgnoreColumns(String...) | 需要忽略的列,父类定义的字段 | null |
```java
globalConfig.getStrategyConfig()
@ -279,13 +281,17 @@ globalConfig.getTemplateConfig()
## Entity 生成配置 `EntityConfig`
| 配置 | 描述 | 默认值 |
|-----------------------------|----------------------------------|--------------------|
|------------------------------------------------|----------------------------------|--------------------|
| setClassPrefix(String) | Entity 类的前缀 | "" |
| setClassSuffix(String) | Entity 类的后缀 | "" |
| setSuperClass(Class) | Entity 类的父类,可以自定义一些 BaseEntity 类 | null |
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
| setImplInterfaces(Class[]) | Entity 默认实现的接口 | Serializable.class |
| setWithLombok(boolean) | Entity 是否使用 Lombok 注解 | false |
| setWithSwagger(boolean) | Entity 是否使用 Swagger 注解 | false |
| setSwaggerVersion(EntityConfig.SwaggerVersion) | Swagger 注解版本 | SwaggerVersion.FOX |
| setWithActiveRecord(boolean) | 是否生成 Active Record 模式的 Entity | false |
| setDataSource(String) | 统一使用的数据源 | null |
```java
globalConfig.getEntityConfig()
@ -298,11 +304,12 @@ globalConfig.getEntityConfig()
## Mapper 生成配置 `MapperConfig`
| 配置 | 描述 | 默认值 |
|-----------------------------|-------------|------------------|
|------------------------------|-----------------|------------------|
| setClassPrefix(String) | Mapper 类的前缀 | "" |
| setClassSuffix(String) | Mapper 类的后缀 | "Mapper" |
| setSuperClass(Class) | Mapper 类的父类 | BaseMapper.class |
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
| setMapperAnnotation(boolean) | 是否生成 @Mapper 注解 | false |
```java
globalConfig.getMapperConfig()
@ -398,26 +405,46 @@ TableConfig 支持的配置如下:
```java
public class TableConfig {
/**
* 表名。
*/
private String tableName;
/**
* 数据库的 schema模式
* 数据库的 schema模式
*/
private String schema;
/**
* 默认为 驼峰属性 转换为 下划线字段
* 默认为 驼峰属性 转换为 下划线字段
*/
private Boolean camelToUnderline;
/**
* 监听 entity 的 insert 行为。
*/
private Class<? extends InsertListener> insertListenerClass;
/**
* 监听 entity 的 update 行为。
*/
private Class<? extends UpdateListener> updateListenerClass;
// 是否启用ATP生成Mapper
/**
* 监听 entity 的查询数据的 set 行为。
*/
private Class<? extends SetListener> setListenerClass;
/**
* 对应列的配置。
*/
private Map<String, ColumnConfig> columnConfigMap;
/**
* 是否开启 Mapper 生成。
*/
private Boolean mapperGenerateEnable = Boolean.TRUE;
}
```
@ -428,37 +455,89 @@ ColumnConfig 支持的配置如下:
```java
public class ColumnConfig implements Serializable {
private String onInsertValue;
private String onUpdateValue;
private Boolean isLarge;
private Boolean isLogicDelete;
private Boolean version;
private JdbcType jdbcType;
private Class<? extends TypeHandler> typeHandler;
private String mask;
private boolean isPrimaryKey = false;
private KeyType keyType;
private String keyValue;
private Boolean keyBefore;
// 是否是租户列
private Boolean tenantId;
/**
* 字段名称。
*/
private String columnName;
/**
* 属性的类型。
* 原始类型直接写类型名称int/long/float/double/boolean
* 对象类型请写对应类的全限定名java.lang.String/com.abc.def.enums.Gender
* insert 的时候默认值,这个值会直接被拼接到 sql 而不通过参数设置。
*/
private String onInsertValue;
/**
* update 的时候自动赋值,这个值会直接被拼接到 sql 而不通过参数设置。
*/
private String onUpdateValue;
/**
* 是否是大字段,大字段 APT 不会生成到 DEFAULT_COLUMNS 里。
*/
private Boolean isLarge;
/**
* 是否是逻辑删除字段,一张表中只能存在 1 一个逻辑删除字段。
*/
private Boolean isLogicDelete;
/**
* 是否为乐观锁字段。
*/
private Boolean version;
/**
* 配置的 jdbcType。
*/
private JdbcType jdbcType;
/**
* <p>属性的类型。
*
* <p>原始类型直接写类型名称例如int/long/float/double/boolean<br/>
* 对象类型请写对应类的全限定名例如java.lang.String/com.example.enums.Gender
*/
private String propertyType;
/**
* 属性的默认值, 例long类型默认值0L枚举类型默认值Gender.MALE
* 属性的默认值例如long 类型默认值0L枚举类型默认值Gender.MALE
*/
private String propertyDefaultValue;
/**
* 自定义 TypeHandler。
*/
private Class<? extends TypeHandler> typeHandler;
/**
* 脱敏方式。
*/
private String mask;
/**
* 字段是否为主键。
*/
private boolean isPrimaryKey = false;
/**
* ID 生成策略。
*/
private KeyType keyType;
/**
* ID 生成器值。
*/
private String keyValue;
/**
* sequence 序列执行顺序。
*/
private Boolean keyBefore;
/**
* 是否是租户 ID。
*/
private Boolean tenantId;
}
```