1、添加依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
2、程序生成代码
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.Collections;
public class CodeGenerator {
public static void main(String[] args) {
// 数据库连接信息
String url = "jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai";
String username = "root";
String password = "root";
// 过滤的表前缀
String[] tablePrefix = new String[]{"t_" ,"c_"};
// 代码输出目录
String output = "D:\\code";
// 生成java文件的包名称
String parentPackage = "com.baomidou.codegen.db";
// 需要生成代码的表名
String[] tableNames = new String[]{
"t_student"
};
FastAutoGenerator.create(url, username, password)
.globalConfig(builder -> {
builder.author("baomidou") // 设置作者
// .enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir(output); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent(parentPackage) // 设置父包名
// .moduleName("system") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml,output)); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude(tableNames) // 设置需要生成的表名
.addTablePrefix(tablePrefix); // 设置过滤表前缀
})
// 使用Freemarker引擎模板,默认的是Velocity引擎模板
.templateEngine(new FreemarkerTemplateEngine())
.execute();
}
}