一、引入依赖
<!-- MyBatis-Flex 代码生成器 -->
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-codegen</artifactId>
<version>1.8.3</version>
</dependency>
<!-- mybatis-flex SpringBoot版本 -->
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-spring-boot-starter</artifactId>
<version>1.8.3</version>
</dependency>
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-processor</artifactId>
<version>1.8.3</version>
<scope>provided</scope>
</dependency>
<!-- mysql jdbc驱动依赖 -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>4.0.3</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.32</version>
</dependency>
二、工具类CodegenUtils
import com.mybatisflex.codegen.Generator;
import com.mybatisflex.codegen.config.GlobalConfig;
import com.zaxxer.hikari.HikariDataSource;
public class CodegenUtils{
public static void main(String[] args) {
//配置数据源
HikariDataSource dataSource = new HikariDataSource();
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/数据库?characterEncoding=utf-8");
dataSource.setUsername("数据库账号");
dataSource.setPassword("数据库密码");
//创建配置内容,引用下方的代码生成器方式方法
GlobalConfig globalConfig = createGlobalConfigUseStyle1();
//通过 datasource 和 globalConfig 创建代码生成器
Generator generator = new Generator(dataSource, globalConfig);
//生成代码
generator.generate();
}
/**
* 代码生成器方式方法
*
* @return
*/
public static GlobalConfig createGlobalConfigUseStyle1() {
//创建配置内容
GlobalConfig globalConfig = new GlobalConfig();
//设置根包
globalConfig.setBasePackage("com.test");
//文档注释 作者名
globalConfig.getJavadocConfig().setAuthor("作者名字");
//启用swagger注解
globalConfig.setEntityWithSwagger(true);
//设置表前缀和只生成哪些表
//globalConfig.setTablePrefix("tb_");
globalConfig.setGenerateTable("数据表1","数据表2","数据表3");
//设置生成 entity 并启用 Lombok
globalConfig.setEntityGenerateEnable(true);
globalConfig.setEntityWithLombok(true);
//设置项目的JDK版本,项目的JDK为14及以上时建议设置该项,小于14则可以不设置
// globalConfig.setEntityJdkVersion(17);
//启用 Controller 生成
globalConfig.enableController();
//启用 Service 生成
globalConfig.enableService();
//启用 ServiceImpl 生成
globalConfig.enableServiceImpl();
//设置生成 mapper
globalConfig.enableMapper();
//启用 MapperXml 生成
globalConfig.enableMapperXml();
// 启用 TableDef 生成
globalConfig.enableTableDef();
//不设置会重复类
globalConfig.getTableDefConfig()
.setClassPrefix("My")
.setClassSuffix("Def");
//可以单独配置某个列
//ColumnConfig columnConfig = new ColumnConfig();
//columnConfig.setColumnName("tenant_id");
//columnConfig.setLarge(true);
//columnConfig.setVersion(true);
//globalConfig.setColumnConfig("tb_account", columnConfig);
return globalConfig;
}
}
三、运行效果
四、运行结果