一、引入依赖
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<!-- mybatis-plus代码生成器 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
<!-- freemarker模板 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
<version>3.1.2</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
<scope>runtime</scope>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<optional>true</optional>
</dependency>
二、代码生成器
package com.example.wwk.generation;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.sql.SQLException;
import java.util.Collections;
/**
* @author auth
*/
public class FastAutoGeneration {
/**
* 执行 run
*/
public static void main(String[] args) throws SQLException {
String outputDir = System.getProperty("user.dir") + "/src/main/java";
String xmlOutputDir = outputDir + "mapper.xml文件地址";
FastAutoGenerator.create("url",
"username", "password")
.globalConfig(builder -> {
builder.author("auth") // 设置作者
// .enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir(outputDir); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("") // 设置父包名
// .moduleName("system") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml, xmlOutputDir)); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude(new String[]{"menu", "menu_role","user","user_role","role"}) // 设置需要生成的表名
// .addTablePrefix("t_", "c_"); // 设置过滤表前缀
.serviceBuilder().formatServiceFileName("%sService") // 修改生成的service文件名
.entityBuilder().enableLombok() // 实体类使用lombok
.controllerBuilder().enableRestStyle() // 启用@RestController
.mapperBuilder().enableMapperAnnotation(); // 启用@Mapper注解
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}