该方法仅适用于mybatis-plus 3.5.1 +以上的版本
准备工作
Maven依赖
注意版本,该方法有可能因为版本的问题出现错误
<!--逆向工程-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!--逆向工程需要模板引擎-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
代码
主要有两个点需要注意
1、指定输出目录outputDir
直接右键复制项目根目录(也就是src/main/java)的绝对路径
举例 E://test//src//main//java
2、 设置mapperXml生成路径
直接右键复制项目mapper文件夹的绝对路径,也就是classpath:mapper
文件夹
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.Collections;
/**
* @author oliverloki
* @Description: Mybatis代码快速生成
* @date 2022年03月26日 20:40
*/
public class CodeGenerator {
public static void main(String[] args) {
FastAutoGenerator.create(
"url",
"username",
"password")
.globalConfig(builder -> {
builder.author("loki") // 设置作者
.fileOverride() // 覆盖已生成文件
.enableSwagger() // 开启 swagger 模式
// 指定输出目录
//直接右键复制项目根目录的绝对路径
.outputDir(" ");
})
.packageConfig(builder -> {
builder.parent("com.loki") // 设置父包名
// 设置mapperXml生成路径
//直接右键复制项目mapper文件夹的绝对路径
.pathInfo(Collections.singletonMap(OutputFile.mapperXml," "));
})
.strategyConfig(builder -> {
// 设置需要生成的表名
builder.addInclude("blog")
.addInclude("user")
.addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板(需要导包),默认的是Velocity引擎模板
.execute();
}
}
生成成功截图