跳转到内容

代码生成器配置

MyBatis-Plus 代码生成器是一个强大的工具,它能够根据数据库表结构自动生成对应的实体类、Mapper接口、XML映射文件以及Service层代码。这个工具极大地简化了基于MyBatis框架的开发流程,提高了开发效率,尤其是在需要处理大量数据库表时。

主要特点

  • 自动化:代码生成器能够自动根据数据库表结构生成相应的Java代码,减少了手动编写重复代码的工作量。
  • 可配置性:通过配置文件或代码,可以灵活地指定生成代码的包路径、表名、字段名、模板等,满足不同项目的需求。
  • 模板支持:支持自定义代码模板,可以根据项目需求定制代码风格和结构。
  • 多数据库支持:支持多种数据库类型,如MySQL、Oracle、SQL Server等,只需配置相应的数据库连接信息即可。
  • 集成简单:可以轻松集成到现有的项目中,只需几行代码即可启动代码生成过程。

使用场景

  • 新项目搭建:在新项目开始时,可以使用代码生成器快速生成基础的CRUD代码,加快项目启动速度。
  • 表结构变更:当数据库表结构发生变化时,可以通过代码生成器更新对应的Java代码,保持代码与数据库的一致性。
  • 重复性工作:在需要编写大量相似CRUD操作的场景中,代码生成器可以显著减少重复劳动,提高开发效率。

如何使用

  1. 配置数据源:指定数据库类型、连接URL、用户名和密码等。
  2. 配置策略:选择需要生成代码的表,设置表名和字段名的命名策略等。
  3. 配置包信息:设置生成代码的包路径,包括实体类、Mapper接口、Service等。
  4. 配置模板:如果需要自定义代码风格,可以配置或创建自定义的代码模板。
  5. 执行生成:运行代码生成器,根据配置生成相应的Java代码。

示例代码

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class CodeGenerator {
public static void main(String[] args) {
// 全局配置
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java") // 设置输出目录
.setAuthor("Your Name") // 设置作者
.setOpen(false) // 设置生成后是否自动打开目录
.setFileOverride(true) // 设置文件存在时是否覆盖
.setServiceName("%sService") // 设置Service接口名后缀
.setIdType(IdType.AUTO) // 设置主键生成策略
.setSwagger2(true); // 设置是否生成Swagger注解
// 数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL) // 设置数据库类型
.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&serverTimezone=UTC") // 数据库连接URL
.setUsername("root") // 数据库用户名
.setPassword("password") // 数据库密码
.setDriverName("com.mysql.cj.jdbc.Driver"); // 数据库驱动类名
// 策略配置
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setInclude("user", "order") // 指定需要生成代码的表名
.setNaming(NamingStrategy.underline_to_camel) // 设置表名转类名策略
.setColumnNaming(NamingStrategy.underline_to_camel) // 设置列名转属性名策略
.setEntityLombokModel(true) // 设置实体类使用Lombok模型
.setRestControllerStyle(true) // 设置Controller使用REST风格
.setTablePrefix(new String[]{"tbl_"}); // 设置表名前缀
// 包配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.example") // 设置父包名
.setMapper("mapper") // 设置Mapper接口所在的子包名
.setEntity("entity") // 设置实体类所在的子包名
.setController("controller") // 设置Controller所在的子包名
.setService("service") // 设置Service所在的子包名
.setXml("mapper"); // 设置Mapper XML文件所在的子包名
// 模板配置
TemplateConfig templateConfig = new TemplateConfig();
templateConfig.setXml(null) // 不生成XML文件
.setController("templates/controller.java.vm") // 设置Controller模板路径
.setEntity("templates/entity.java.vm") // 设置实体类模板路径
.setMapper("templates/mapper.java.vm"); // 设置Mapper接口模板路径
// 整合配置
AutoGenerator autoGenerator = new AutoGenerator();
autoGenerator.setGlobalConfig(globalConfig)
.setDataSource(dataSourceConfig)
.setStrategy(strategyConfig)
.setPackageInfo(packageConfig)
.setTemplate(templateConfig);
// 执行生成
autoGenerator.execute();
}
}

通过MyBatis-Plus代码生成器,开发者可以更加专注于业务逻辑的实现,而不是繁琐的CRUD代码编写,从而提升开发效率和代码质量。

基本配置

数据源配置(dataSource)

  • 类型:DataSourceConfig
  • 默认值:null

数据源配置用于指定需要生成代码的具体数据库。通过配置数据源,代码生成器能够连接到数据库并获取表结构信息,以便生成相应的代码。

示例配置:

DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL) // 设置数据库类型,如MySQL、Oracle等
.setUrl("jdbc:mysql://localhost:3306/mybatis_plus") // 数据库连接URL
.setUsername("root") // 数据库用户名
.setPassword("password") // 数据库密码
.setDriverName("com.mysql.cj.jdbc.Driver"); // 数据库驱动类名

数据库表配置(strategy)

  • 类型:StrategyConfig
  • 默认值:null

数据库表配置用于指定需要生成哪些表的代码或者排除哪些表。通过策略配置,可以灵活地控制代码生成的范围。

示例配置:

StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setInclude("user", "order") // 指定需要生成代码的表名
.setExclude("user_detail") // 排除不需要生成代码的表名
.setEntityLombokModel(true) // 设置实体类使用Lombok模型
.setRestControllerStyle(true); // 设置Controller使用REST风格

包名配置(packageInfo)

  • 类型:PackageConfig
  • 默认值:null

包名配置用于指定生成代码的包路径。通过配置包名,可以确保生成的代码放置在正确的目录结构中。

示例配置:

PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.example") // 设置父包名
.setMapper("mapper") // 设置Mapper接口所在的子包名
.setEntity("entity") // 设置实体类所在的子包名
.setController("controller"); // 设置Controller所在的子包名

模板配置(template)

  • 类型:TemplateConfig
  • 默认值:null

模板配置允许自定义代码生成的模板,实现个性化操作。通过模板配置,可以定制生成代码的格式和内容。

示例配置:

TemplateConfig templateConfig = new TemplateConfig();
templateConfig.setXml(null) // 不生成XML文件
.setController("templates/controller.java.vm") // 设置Controller模板路径
.setEntity("templates/entity.java.vm") // 设置实体类模板路径
.setMapper("templates/mapper.java.vm"); // 设置Mapper接口模板路径

全局策略配置(globalConfig)

  • 类型:GlobalConfig
  • 默认值:null

全局策略配置提供了一些全局的设置,如作者信息、生成路径等。

示例配置:

GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir("src/main/java") // 设置生成代码的输出目录
.setAuthor("Your Name") // 设置作者信息
.setOpen(false) // 设置生成后是否自动打开目录
.setFileOverride(true); // 设置文件存在时是否覆盖

注入配置(injectionConfig)

  • 类型:InjectionConfig
  • 默认值:null

注入配置允许注入自定义参数等操作以实现个性化操作。通过注入配置,可以在代码生成过程中添加额外的逻辑。

示例配置:

InjectionConfig injectionConfig = new InjectionConfig() {
// 自定义注入参数
@Override
public void initMap() {
// to do nothing
}
// 自定义参数
@Override
public MappedStatement injectMappedStatement(MappedStatement ms, Configuration configuration, SqlSource sqlSource, String mapperId) {
// 自定义注入逻辑
return ms;
}
};

通过以上配置,MyBatis-Plus 代码生成器可以根据你的需求生成符合项目结构的代码,大大提高了开发效率。记得根据实际项目需求调整配置参数,以达到最佳的代码生成效果。

数据源配置(dataSource)详解

数据源配置是 MyBatis-Plus 代码生成器的关键部分,它定义了如何连接到数据库以及如何查询数据库信息。以下是数据源配置的详细说明和示例。

dbQuery

  • 描述:数据库信息查询类,用于执行数据库查询操作。
  • 默认实现:根据 dbType 自动选择对应数据库的内置实现。
  • 自定义:可以实现 IDbQuery 接口来自定义数据库查询 SQL 语句,以返回特定内容。

dbType

  • 描述:数据库类型,是必须配置的选项。
  • 内置支持:MyBatis-Plus 内置了多种常用数据库类型,如 MySQL、Oracle、PostgreSQL 等。

schemaName

  • 描述:数据库 schema name,某些数据库系统(如 PostgreSQL)需要指定。
  • 示例:在 PostgreSQL 中,可以指定为 public

typeConvert

  • 描述:类型转换,用于将数据库字段类型转换为 Java 类型。
  • 默认实现:根据 dbType 自动选择对应数据库的内置实现。
  • 自定义:如果内置转换类型不满足需求,可以实现 ITypeConvert 接口来自定义数据库字段类型到 Java 类型的转换,或者实现 IColumnType 接口进行更高级的自定义。

url

  • 描述:数据库连接的 URL,包含了连接到数据库所需的所有信息。

driverName

  • 描述:数据库驱动程序的名称,用于建立数据库连接。

username

  • 描述:数据库连接的用户名,用于身份验证。

password

  • 描述:数据库连接的密码,用于身份验证。

示例配置

DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL) // 设置数据库类型为 MySQL
.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&serverTimezone=UTC") // 设置数据库连接 URL
.setUsername("root") // 设置数据库用户名
.setPassword("password") // 设置数据库密码
.setDriverName("com.mysql.cj.jdbc.Driver"); // 设置数据库驱动名称

在这个示例中,我们配置了一个 MySQL 数据库的数据源。我们指定了数据库类型、连接 URL、用户名、密码和驱动名称。这些信息将用于建立与数据库的连接,并从中获取表结构信息,以便生成相应的 Java 代码。

请根据你的实际数据库配置调整这些参数,确保它们与你的数据库环境相匹配。

数据库表配置(strategy)详解

数据库表配置用于定义生成代码时如何处理数据库表和字段。通过策略配置,可以指定生成哪些表的代码、如何命名实体类和字段、以及是否包含特定的注解或属性。

isCapitalMode

  • 描述:是否使用大写命名模式。
  • 默认值false

skipView

  • 描述:是否跳过视图。
  • 默认值false

naming

  • 描述:数据库表映射到实体的命名策略。
  • 默认值:使用下划线转驼峰命名。

columnNaming

  • 描述:数据库表字段映射到实体的命名策略。
  • 默认值:未指定时,按照 naming 策略执行。

tablePrefix

  • 描述:表前缀,用于过滤带有特定前缀的表。

fieldPrefix

  • 描述:字段前缀,用于过滤带有特定前缀的字段。

superEntityClass

  • 描述:自定义继承的 Entity 类全称,带包名。

superEntityColumns

  • 描述:自定义基础的 Entity 类,公共字段。

superMapperClass

  • 描述:自定义继承的 Mapper 类全称,带包名。

superServiceClass

  • 描述:自定义继承的 Service 类全称,带包名。

superServiceImplClass

  • 描述:自定义继承的 ServiceImpl 类全称,带包名。

superControllerClass

  • 描述:自定义继承的 Controller 类全称,带包名。

enableSqlFilter Since 3.3.1

  • 描述:默认激活进行 SQL 模糊表名匹配。关闭后,likeTablenotLikeTable 将失效,includeexclude 将使用内存过滤。
  • 默认值true
  • 注意:如果有 SQL 语法兼容性问题,请手动设置为 false。已知无法使用的情况包括 MyCat 中间件。更多信息请查看 ISSUE-2102

include

  • 描述:需要包含的表名,当 enableSqlFilterfalse 时,允许正则表达式。

likeTable Since 3.3.0

  • 描述:模糊匹配表名,与 notLikeTable 二选一配置。

exclude

  • 描述:需要排除的表名,当 enableSqlFilterfalse 时,允许正则表达式。

notLikeTable Since 3.3.0

  • 描述:模糊排除表名,与 likeTable 二选一配置。

entityColumnConstant

  • 描述:【实体】是否生成字段常量。
  • 默认值false

entityBuilderModel @Deprecated

  • 描述:【实体】是否为构建者模型.
  • 默认值false
  • 注意:自 3.3.2 开始更名为 chainModel

chainModel Since 3.3.2

  • 描述:【实体】是否为链式模型。
  • 默认值false
  • 注意:3.3.2 以下版本默认生成了链式模型,3.3.2 以后,默认不生成,如有需要,请开启。

entityLombokModel

  • 描述:【实体】是否为 Lombok 模型。
  • 默认值false

entityBooleanColumnRemoveIsPrefix

  • 描述:Boolean 类型字段是否移除 is 前缀。
  • 默认值false

restControllerStyle

  • 描述:生成 @RestController 控制器。
  • 默认值false

controllerMappingHyphenStyle

  • 描述:驼峰转连字符。
  • 默认值false

entityTableFieldAnnotationEnable

  • 描述:是否生成实体时,生成字段注解。
  • 默认值false

versionFieldName

  • 描述:乐观锁属性名称。

logicDeleteFieldName

  • 描述:逻辑删除属性名称。

tableFillList

  • 描述:表填充字段。

示例配置

StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setCapitalMode(true) // 使用大写命名模式
.setEntityLombokModel(true) // 使用 Lombok 模型
.setRestControllerStyle(true) // 生成 @RestController 控制器
.setInclude("user", "order") // 包含特定的表
.setExclude("user_detail") // 排除特定的表
.setEntityBooleanColumnRemoveIsPrefix(true) // 移除 Boolean 类型字段的 is 前缀
.setTablePrefix("tbl_") // 设置表前缀
.setControllerMappingHyphenStyle(true); // 驼峰转连字符

在这个示例中,我们配置了一个策略,指定了大写命名模式、使用 Lombok 模型、生成 REST 风格的控制器,并指定了需要包含和排除的表。我们还设置了表前缀和驼峰转连字符的控制器映射风格。

请根据你的项目需求调整这些配置参数,以确保生成的代码符合你的期望。

包名配置(packageInfo)详解

包名配置用于定义生成代码的包结构,确保生成的代码放置在正确的目录中。通过配置包名,可以控制代码的组织方式,使其符合项目的架构设计。

parent

  • 描述:父包名,即所有生成代码的顶级包名。
  • 默认值:如果未设置,则需要为每个子包名指定完整的包路径。

moduleName

  • 描述:父包模块名,用于区分不同的模块或子系统。

entity

  • 描述:Entity 包名,即实体类所在的包名。

service

  • 描述:Service 包名,即服务接口所在的包名。

serviceImpl

  • 描述:Service Impl 包名,即服务实现类所在的包名。

mapper

  • 描述:Mapper 包名,即 Mapper 接口所在的包名。

xml

  • 描述:Mapper XML 包名,即 Mapper XML 文件所在的包名。

controller

  • 描述:Controller 包名,即控制器类所在的包名。

pathInfo

  • 描述:路径配置信息,用于指定生成代码的物理路径。

示例配置

PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.example") // 设置父包名
.setModuleName("mybatisplus") // 设置父包模块名
.setEntity("entity") // 设置实体类所在的子包名
.setService("service") // 设置服务接口所在的子包名
.setServiceImpl("service.impl") // 设置服务实现类所在的子包名
.setMapper("mapper") // 设置Mapper接口所在的子包名
.setXml("mapper") // 设置Mapper XML文件所在的子包名
.setController("controller"); // 设置控制器类所在的子包名

在这个示例中,我们配置了一个包结构,其中父包名为 com.example,每个子包名都根据其功能进行了设置。例如,实体类将放置在 com.example.mybatisplus.entity 包中,服务接口将放置在 com.example.mybatisplus.service 包中,以此类推。

请根据你的项目结构和组织习惯调整这些配置参数,以确保生成的代码能够正确地集成到你的项目中。

模板配置(template)详解

模板配置允许开发者自定义代码生成器使用的模板,以生成符合特定项目风格和需求的代码。MyBatis-Plus 代码生成器支持多种类型的模板,包括实体类、服务类、Mapper 接口、XML 映射文件和控制器类等。

entity

  • 描述:Java 实体类模板,用于生成 Java 实体类代码。

entityKt

  • 描述:Kotlin 实体类模板,用于生成 Kotlin 实体类代码。

service

  • 描述:Service 类模板,用于生成服务接口代码。

serviceImpl

  • 描述:Service impl 实现类模板,用于生成服务实现类代码。

mapper

  • 描述:mapper 模板,用于生成 Mapper 接口代码。

xml

  • 描述:mapper xml 模板,用于生成 Mapper XML 映射文件代码。

controller

  • 描述:controller 控制器模板,用于生成控制器类代码。

示例配置

TemplateConfig templateConfig = new TemplateConfig();
templateConfig.setEntity("templates/entity.java.vm") // 设置实体类模板路径
.setService("templates/service.java.vm") // 设置服务类模板路径
.setServiceImpl("templates/serviceImpl.java.vm") // 设置服务实现类模板路径
.setMapper("templates/mapper.java.vm") // 设置Mapper接口模板路径
.setXml("templates/mapper.xml.vm") // 设置Mapper XML模板路径
.setController("templates/controller.java.vm"); // 设置控制器模板路径

在这个示例中,我们配置了不同类型的模板路径。例如,实体类模板路径设置为 templates/entity.java.vm,服务类模板路径设置为 templates/service.java.vm,以此类推。这些模板路径指向了项目中自定义的模板文件,代码生成器将使用这些模板来生成相应的代码。

请确保你的模板文件路径正确,并且模板文件遵循 Velocity 或 Freemarker 等模板引擎的语法。通过自定义模板,你可以控制生成的代码的结构、注释、命名风格等,以满足项目的特定需求。

在实际使用中,你可能需要根据项目的具体情况调整模板配置,例如,如果你的项目使用 Kotlin 语言,则需要配置 entityKt 模板路径。如果你的项目不需要生成某些类型的代码(如 XML 映射文件),则可以不配置相应的模板。

全局策略配置(globalConfig)详解

全局策略配置提供了一些全局的设置,如输出目录、文件覆盖、开发者信息等,以及一些高级选项,如 Kotlin 模式、Swagger2 集成、ActiveRecord 模式等。

outputDir

  • 描述:生成文件的输出目录。
  • 默认值D 盘根目录

fileOverride

  • 描述:是否覆盖已有文件。
  • 默认值false

open

  • 描述:是否在生成后自动打开输出目录。
  • 默认值true

enableCache

  • 描述:是否在 XML 中添加二级缓存配置。
  • 默认值false

author

  • 描述:开发人员名称。
  • 默认值null

kotlin

  • 描述:是否开启 Kotlin 模式。
  • 默认值false

swagger2

  • 描述:是否开启 Swagger2 模式。
  • 默认值false

activeRecord

  • 描述:是否开启 ActiveRecord 模式。
  • 默认值false

baseResultMap

  • 描述:是否开启 BaseResultMap。
  • 默认值false

baseColumnList

  • 描述:是否开启 baseColumnList。
  • 默认值false

dateType

  • 描述:时间类型对应策略。
  • 默认值TIME_PACK

entityName

  • 描述:实体命名方式,%s 为占位符。
  • 默认值null
  • 示例%sEntity 生成 UserEntity

mapperName

  • 描述:Mapper 命名方式,%s 为占位符。
  • 默认值null
  • 示例%sDao 生成 UserDao

xmlName

  • 描述:Mapper XML 命名方式,%s 为占位符。
  • 默认值null
  • 示例%sDao 生成 UserDao.xml

serviceName

  • 描述:Service 命名方式,%s 为占位符。
  • 默认值null
  • 示例%sBusiness 生成 UserBusiness

serviceImplName

  • 描述:Service impl 命名方式,%s 为占位符。
  • 默认值null
  • 示例%sBusinessImpl 生成 UserBusinessImpl

controllerName

  • 描述:Controller 命名方式,%s 为占位符。
  • 默认值null
  • 示例%sAction 生成 UserAction

idType

  • 描述:指定生成的主键的 ID 类型。
  • 默认值null

示例配置

GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir("src/main/java") // 设置输出目录
.setFileOverride(true) // 允许覆盖已有文件
.setOpen(false) // 不自动打开输出目录
.setEnableCache(true) // 在XML中添加二级缓存配置
.setAuthor("Your Name") // 设置开发者名称
.setKotlin(false) // 不开启Kotlin模式
.setSwagger2(true) // 开启Swagger2模式
.setActiveRecord(false) // 不开启ActiveRecord模式
.setBaseResultMap(true) // 开启BaseResultMap
.setBaseColumnList(true) // 开启baseColumnList
.setDateType(DateType.TIME_PACK) // 设置时间类型对应策略
.setEntityName("%sEntity") // 设置实体命名方式
.setMapperName("%sDao") // 设置Mapper命名方式
.setXmlName("%sDao") // 设置Mapper XML命名方式
.setServiceName("%sService") // 设置Service命名方式
.setServiceImplName("%sServiceImpl") // 设置Service impl命名方式
.setControllerName("%sController") // 设置Controller命名方式
.setIdType(IdType.AUTO); // 设置主键ID类型为自增

在这个示例中,我们配置了全局策略,指定了输出目录、文件覆盖、开发者信息等,并设置了各种命名方式和主键ID类型。这些配置将影响生成的代码的结构和内容。

请根据你的项目需求和偏好调整这些配置参数,以确保生成的代码符合你的期望。例如,如果你希望生成的实体类名以 Entity 结尾,可以将 entityName 设置为 %sEntity。如果你希望在生成的 XML 文件中包含二级缓存配置,可以将 enableCache 设置为 true

注入配置(injectionConfig)详解

注入配置允许开发者自定义代码生成器的行为,包括自定义返回配置、自定义输出文件、自定义文件创建逻辑等。这些配置提供了灵活性,使得代码生成器能够适应更复杂的项目需求。

map

  • 描述:自定义返回配置 Map 对象,该对象可以传递到模板引擎,通过 cfg.xxx 引用。
  • 用途:用于在模板中访问自定义的配置信息。

fileOutConfigList

  • 描述:自定义输出文件,通过配置 FileOutConfig 指定模板文件和输出文件,实现自定义文件生成。
  • 用途:用于生成非标准格式的文件,或者在特定目录下生成文件。

fileCreate

  • 描述:自定义判断是否创建文件,实现 IFileCreate 接口。
  • 用途:用于判断某个类是否需要覆盖创建,或者实现文件差异算法 merge

initMap

  • 描述:注入自定义 Map 对象,注意需要通过 setMap 方法放入。
  • 用途:用于在代码生成器中注入额外的配置信息。

示例配置

InjectionConfig injectionConfig = new InjectionConfig() {
@Override
public void initMap() {
// 自定义 Map 对象,可以在模板中通过 cfg.xxx 引用
this.setMap(new HashMap<String, Object>() {{
put("author", "Your Name");
put("project", "MyBatis-Plus Code Generator");
}});
}
@Override
public FileOutConfig getFileOutConfig(TableInfo tableInfo) {
// 自定义输出文件配置
return new FileOutConfig(tableInfo.getEntityName()) {
@Override
public String outputFile(TableInfo tableInfo) {
// 自定义输出文件路径
return "src/main/java/" + tableInfo.getEntityName() + ".java";
}
};
}
@Override
public IFileCreate getFileCreate() {
// 自定义文件创建逻辑
return new IFileCreate() {
@Override
public boolean isCreate(File file) {
// 自定义判断是否创建文件的逻辑
return !file.exists() || file.length() == 0;
}
};
}
};

在这个示例中,我们配置了注入配置,包括自定义 Map 对象、自定义输出文件配置和自定义文件创建逻辑。

  • initMap 方法中,我们创建了一个包含作者和项目名称的 Map 对象,这些信息可以在模板中通过 cfg.xxx 引用。
  • getFileOutConfig 方法中,我们返回了一个自定义的 FileOutConfig 对象,指定了输出文件的路径。
  • getFileCreate 方法中,我们返回了一个自定义的 IFileCreate 实现,用于判断文件是否需要创建。

请根据你的项目需求调整这些配置参数,以确保生成的代码符合你的期望。例如,如果你需要在模板中访问额外的配置信息,可以在 initMap 方法中添加这些信息。如果你需要生成特定格式的文件,可以在 getFileOutConfig 方法中指定相应的模板和输出路径。如果你需要自定义文件创建逻辑,可以在 getFileCreate 方法中实现相应的判断逻辑。

Baomidou

© 2016-2024 Baomidou™. All Rights Reserved.

Power by Astro Starlight | Sponsored by JetBrains

渝ICP备2021000141号-1 | 渝公网安备50011302222097