mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 00:58:24 +08:00
doc: 完善 代码生成器 文档。
This commit is contained in:
parent
4d0efd1005
commit
683515b367
@ -196,17 +196,18 @@ globalConfig.enableEntity()
|
|||||||
|
|
||||||
## 注释配置 `JavadocConfig`
|
## 注释配置 `JavadocConfig`
|
||||||
|
|
||||||
| 配置 | 描述 | 默认值 |
|
| 配置 | 描述 | 默认值 |
|
||||||
|---------------------------------|-----------------|---------------------------------|
|
|----------------------------------|-----------------|---------------------------------|
|
||||||
| setAuthor(String) | 作者 | System.getProperty("user.name") |
|
| setAuthor(String) | 作者 | System.getProperty("user.name") |
|
||||||
| setSince(String) | 自 | 日期(yyyy-MM-dd) |
|
| setSince(String) | 自 | 日期(yyyy-MM-dd) |
|
||||||
| setTableCommentFormat(Function) | 表名格式化 | 原表名 |
|
| setTableCommentFormat(Function) | 表注释格式化 | 原表注释 |
|
||||||
| setEntityPackage(String) | Entity 包注释 | "实体类层(Entity)软件包。" |
|
| setColumnCommentFormat(Function) | 字段注释格式化 | 原字段注释 |
|
||||||
| setMapperPackage(String) | Mapper 包注释 | "映射层(Mapper)软件包。" |
|
| setEntityPackage(String) | Entity 包注释 | "实体类层(Entity)软件包。" |
|
||||||
| setServicePackage(String) | Service 包注释 | "服务层(Service)软件包。" |
|
| setMapperPackage(String) | Mapper 包注释 | "映射层(Mapper)软件包。" |
|
||||||
| setServiceImplPackage(String) | ServiceImpl 包注释 | "服务层实现(ServiceImpl)软件包。" |
|
| setServicePackage(String) | Service 包注释 | "服务层(Service)软件包。" |
|
||||||
| setControllerPackage(String) | Controller 包注释 | "控制层(Controller)软件包。" |
|
| setServiceImplPackage(String) | ServiceImpl 包注释 | "服务层实现(ServiceImpl)软件包。" |
|
||||||
| setTableDefPackage(String) | TableDef 包注释 | "表定义层(TableDef)软件包。" |
|
| setControllerPackage(String) | Controller 包注释 | "控制层(Controller)软件包。" |
|
||||||
|
| setTableDefPackage(String) | TableDef 包注释 | "表定义层(TableDef)软件包。" |
|
||||||
|
|
||||||
```java
|
```java
|
||||||
globalConfig.getJavadocConfig()
|
globalConfig.getJavadocConfig()
|
||||||
@ -216,17 +217,17 @@ globalConfig.getJavadocConfig()
|
|||||||
|
|
||||||
## 包配置 `PackageConfig`
|
## 包配置 `PackageConfig`
|
||||||
|
|
||||||
| 配置 | 描述 | 默认值 |
|
| 配置 | 描述 | 默认值 |
|
||||||
|-------------------------------|----------------|---------------------------------------------------|
|
|-------------------------------|----------------|---------------------------------------------------------------|
|
||||||
| setSourceDir(String) | 文件输出目录 | System.getProperty("user.dir") + "/src/main/java" |
|
| setSourceDir(String) | 文件输出目录 | System.getProperty("user.dir") + "/src/main/java" |
|
||||||
| setBasePackage(String) | 根包名 | "com.mybatisflex" |
|
| setBasePackage(String) | 根包名 | "com.mybatisflex" |
|
||||||
| setEntityPackage(String) | Entity 包名 | getBasePackage() + ".entity" | |
|
| setEntityPackage(String) | Entity 包名 | getBasePackage() + ".entity" | |
|
||||||
| setMapperPackage(String) | Mapper 包名 | getBasePackage() + ".mapper" | |
|
| setMapperPackage(String) | Mapper 包名 | getBasePackage() + ".mapper" | |
|
||||||
| setServicePackage(String) | Service 包名 | getBasePackage() + ".service" | |
|
| setServicePackage(String) | Service 包名 | getBasePackage() + ".service" | |
|
||||||
| setServiceImplPackage(String) | ServiceImpl 包名 | getBasePackage() + ".service.impl" | |
|
| setServiceImplPackage(String) | ServiceImpl 包名 | getBasePackage() + ".service.impl" | |
|
||||||
| setControllerPackage(String) | Controller 包名 | getBasePackage() + ".controller" | |
|
| setControllerPackage(String) | Controller 包名 | getBasePackage() + ".controller" | |
|
||||||
| setTableDefPackage(String) | TableDef 包名 | getEntityPackage() + ".tables" | |
|
| setTableDefPackage(String) | TableDef 包名 | getEntityPackage() + ".tables" | |
|
||||||
| setMapperXmlPath(String) | MapperXml 路径 | getSourceDir() + "/resources/mapper" | |
|
| setMapperXmlPath(String) | MapperXml 路径 | System.getProperty("user.dir") + "/src/main/resources/mapper" | |
|
||||||
|
|
||||||
```java
|
```java
|
||||||
globalConfig.getPackageConfig()
|
globalConfig.getPackageConfig()
|
||||||
@ -243,10 +244,11 @@ globalConfig.getPackageConfig()
|
|||||||
| setVersionColumn(String) | 乐观锁的字段名称 | null |
|
| setVersionColumn(String) | 乐观锁的字段名称 | null |
|
||||||
| setGenerateForView(boolean) | 是否生成视图映射 | false |
|
| setGenerateForView(boolean) | 是否生成视图映射 | false |
|
||||||
| setTableConfig(TableConfig) | 单独为某张表添加独立的配置 | null |
|
| setTableConfig(TableConfig) | 单独为某张表添加独立的配置 | null |
|
||||||
| setGenerateSchema(String) | 生成哪个schema下的表 | null |
|
|
||||||
| setColumnConfig(ColumnConfig) | 设置某个列的全局配置 | null |
|
| setColumnConfig(ColumnConfig) | 设置某个列的全局配置 | null |
|
||||||
|
| setGenerateSchema(String) | 生成哪个schema下的表 | null |
|
||||||
| setGenerateTables(String...) | 生成哪些表,白名单 | null |
|
| setGenerateTables(String...) | 生成哪些表,白名单 | null |
|
||||||
| setUnGenerateTables(String...) | 不生成哪些表,黑名单 | null |
|
| setUnGenerateTables(String...) | 不生成哪些表,黑名单 | null |
|
||||||
|
| setIgnoreColumns(String...) | 需要忽略的列,父类定义的字段 | null |
|
||||||
|
|
||||||
```java
|
```java
|
||||||
globalConfig.getStrategyConfig()
|
globalConfig.getStrategyConfig()
|
||||||
@ -278,14 +280,18 @@ globalConfig.getTemplateConfig()
|
|||||||
|
|
||||||
## Entity 生成配置 `EntityConfig`
|
## Entity 生成配置 `EntityConfig`
|
||||||
|
|
||||||
| 配置 | 描述 | 默认值 |
|
| 配置 | 描述 | 默认值 |
|
||||||
|-----------------------------|----------------------------------|--------------------|
|
|------------------------------------------------|----------------------------------|--------------------|
|
||||||
| setClassPrefix(String) | Entity 类的前缀 | "" |
|
| setClassPrefix(String) | Entity 类的前缀 | "" |
|
||||||
| setClassSuffix(String) | Entity 类的后缀 | "" |
|
| setClassSuffix(String) | Entity 类的后缀 | "" |
|
||||||
| setSuperClass(Class) | Entity 类的父类,可以自定义一些 BaseEntity 类 | null |
|
| setSuperClass(Class) | Entity 类的父类,可以自定义一些 BaseEntity 类 | null |
|
||||||
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
||||||
| setImplInterfaces(Class[]) | Entity 默认实现的接口 | Serializable.class |
|
| setImplInterfaces(Class[]) | Entity 默认实现的接口 | Serializable.class |
|
||||||
| setWithLombok(boolean) | Entity 是否使用 Lombok 注解 | false |
|
| 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
|
```java
|
||||||
globalConfig.getEntityConfig()
|
globalConfig.getEntityConfig()
|
||||||
@ -297,12 +303,13 @@ globalConfig.getEntityConfig()
|
|||||||
|
|
||||||
## Mapper 生成配置 `MapperConfig`
|
## Mapper 生成配置 `MapperConfig`
|
||||||
|
|
||||||
| 配置 | 描述 | 默认值 |
|
| 配置 | 描述 | 默认值 |
|
||||||
|-----------------------------|-------------|------------------|
|
|------------------------------|-----------------|------------------|
|
||||||
| setClassPrefix(String) | Mapper 类的前缀 | "" |
|
| setClassPrefix(String) | Mapper 类的前缀 | "" |
|
||||||
| setClassSuffix(String) | Mapper 类的后缀 | "Mapper" |
|
| setClassSuffix(String) | Mapper 类的后缀 | "Mapper" |
|
||||||
| setSuperClass(Class) | Mapper 类的父类 | BaseMapper.class |
|
| setSuperClass(Class) | Mapper 类的父类 | BaseMapper.class |
|
||||||
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
||||||
|
| setMapperAnnotation(boolean) | 是否生成 @Mapper 注解 | false |
|
||||||
|
|
||||||
```java
|
```java
|
||||||
globalConfig.getMapperConfig()
|
globalConfig.getMapperConfig()
|
||||||
@ -317,7 +324,7 @@ globalConfig.getMapperConfig()
|
|||||||
|-----------------------------|--------------|----------------|
|
|-----------------------------|--------------|----------------|
|
||||||
| setClassPrefix(String) | Service 类的前缀 | "" |
|
| setClassPrefix(String) | Service 类的前缀 | "" |
|
||||||
| setClassSuffix(String) | Service 类的后缀 | "Service" |
|
| setClassSuffix(String) | Service 类的后缀 | "Service" |
|
||||||
| setSuperClass(Class) | Service 类的父类 | IService.class |
|
| setSuperClass(Class) | Service 类的父类 | IService.class |
|
||||||
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
||||||
|
|
||||||
```java
|
```java
|
||||||
@ -333,7 +340,7 @@ globalConfig.getServiceConfig()
|
|||||||
|-----------------------------|------------------|-------------------|
|
|-----------------------------|------------------|-------------------|
|
||||||
| setClassPrefix(String) | ServiceImpl 类的前缀 | "" |
|
| setClassPrefix(String) | ServiceImpl 类的前缀 | "" |
|
||||||
| setClassSuffix(String) | ServiceImpl 类的后缀 | "ServiceImpl" |
|
| setClassSuffix(String) | ServiceImpl 类的后缀 | "ServiceImpl" |
|
||||||
| setSuperClass(Class) | ServiceImpl 类的父类 | ServiceImpl.class |
|
| setSuperClass(Class) | ServiceImpl 类的父类 | ServiceImpl.class |
|
||||||
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
||||||
| setCacheExample(boolean) | 是否添加缓存示例代码 | false |
|
| setCacheExample(boolean) | 是否添加缓存示例代码 | false |
|
||||||
|
|
||||||
@ -350,7 +357,7 @@ globalConfig.getServiceImplConfig()
|
|||||||
|-----------------------------|---------------------|--------------|
|
|-----------------------------|---------------------|--------------|
|
||||||
| setClassPrefix(String) | Controller 类的前缀 | "" |
|
| setClassPrefix(String) | Controller 类的前缀 | "" |
|
||||||
| setClassSuffix(String) | Controller 类的后缀 | "Controller" |
|
| setClassSuffix(String) | Controller 类的后缀 | "Controller" |
|
||||||
| setSuperClass(Class) | Controller 类的父类 | null |
|
| setSuperClass(Class) | Controller 类的父类 | null |
|
||||||
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
||||||
| setRestStyle(boolean) | REST 风格的 Controller | true |
|
| setRestStyle(boolean) | REST 风格的 Controller | true |
|
||||||
|
|
||||||
@ -366,7 +373,7 @@ globalConfig.getControllerConfig()
|
|||||||
| 配置 | 描述 | 默认值 |
|
| 配置 | 描述 | 默认值 |
|
||||||
|--------------------------------------------------|----------------|-------------------------------------------|
|
|--------------------------------------------------|----------------|-------------------------------------------|
|
||||||
| setClassPrefix(String) | TableDef 类的前缀 | "" |
|
| setClassPrefix(String) | TableDef 类的前缀 | "" |
|
||||||
| setClassSuffix(String) | TableDef 类的后缀 | "TableDef" |
|
| setClassSuffix(String) | TableDef 类的后缀 | "TableDef" |
|
||||||
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
||||||
| setPropertiesNameStyle(TableDefConfig.NameStyle) | 生成辅助类的字段风格 | TableDefConfig.NameStyle.LOWER_CAMEL_CASE |
|
| setPropertiesNameStyle(TableDefConfig.NameStyle) | 生成辅助类的字段风格 | TableDefConfig.NameStyle.LOWER_CAMEL_CASE |
|
||||||
| setInstanceSuffix(String) | 生成辅助类常量对应的变量后缀 | "" |
|
| setInstanceSuffix(String) | 生成辅助类常量对应的变量后缀 | "" |
|
||||||
@ -398,26 +405,46 @@ TableConfig 支持的配置如下:
|
|||||||
```java
|
```java
|
||||||
public class TableConfig {
|
public class TableConfig {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 表名。
|
||||||
|
*/
|
||||||
private String tableName;
|
private String tableName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据库的 schema(模式)
|
* 数据库的 schema(模式)。
|
||||||
*/
|
*/
|
||||||
private String schema;
|
private String schema;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 默认为 驼峰属性 转换为 下划线字段
|
* 默认为 驼峰属性 转换为 下划线字段。
|
||||||
*/
|
*/
|
||||||
private Boolean camelToUnderline;
|
private Boolean camelToUnderline;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监听 entity 的 insert 行为。
|
||||||
|
*/
|
||||||
private Class<? extends InsertListener> insertListenerClass;
|
private Class<? extends InsertListener> insertListenerClass;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监听 entity 的 update 行为。
|
||||||
|
*/
|
||||||
private Class<? extends UpdateListener> updateListenerClass;
|
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;
|
private Boolean mapperGenerateEnable = Boolean.TRUE;
|
||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -428,37 +455,89 @@ ColumnConfig 支持的配置如下:
|
|||||||
```java
|
```java
|
||||||
public class ColumnConfig implements Serializable {
|
public class ColumnConfig implements Serializable {
|
||||||
|
|
||||||
private String onInsertValue;
|
/**
|
||||||
private String onUpdateValue;
|
* 字段名称。
|
||||||
|
*/
|
||||||
private Boolean isLarge;
|
private String columnName;
|
||||||
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;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 属性的类型。
|
* insert 的时候默认值,这个值会直接被拼接到 sql 而不通过参数设置。
|
||||||
* 原始类型直接写类型名称,例:int/long/float/double/boolean
|
*/
|
||||||
* 对象类型请写对应类的全限定名,例:java.lang.String/com.abc.def.enums.Gender
|
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;
|
private String propertyType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 属性的默认值, 例:long类型默认值:0L,枚举类型默认值:Gender.MALE
|
* 属性的默认值,例如:long 类型默认值:0L,枚举类型默认值:Gender.MALE。
|
||||||
*/
|
*/
|
||||||
private String propertyDefaultValue;
|
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;
|
||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -469,7 +548,7 @@ MyBatis-Flex 内置了一个名为:`JdbcTypeMapping` 的 java 类,我们可
|
|||||||
数据类型,在开始生成代码之前,可以先调用其进行配置,例如:
|
数据类型,在开始生成代码之前,可以先调用其进行配置,例如:
|
||||||
|
|
||||||
```java
|
```java
|
||||||
JdbcTypeMapping.registerMapping(LocalDateTime.class,Date.class);
|
JdbcTypeMapping.registerMapping(LocalDateTime.class, Date.class);
|
||||||
```
|
```
|
||||||
|
|
||||||
那么,当我们生成代码的时候,发现 JDBC 驱动的数据类型为 `LocalDateTime`,则 Entity 对应的属性类型为 `Date`。
|
那么,当我们生成代码的时候,发现 JDBC 驱动的数据类型为 `LocalDateTime`,则 Entity 对应的属性类型为 `Date`。
|
||||||
@ -536,7 +615,7 @@ generator.generate();
|
|||||||
|
|
||||||
MyDialect.java
|
MyDialect.java
|
||||||
```java
|
```java
|
||||||
class MyDialect implements IDialect{
|
class MyDialect implements IDialect {
|
||||||
//重写相关构建方法
|
//重写相关构建方法
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user