背景
之前用过不少逆向生成的工具类,感觉都不是特别的方便。前一阵子突然在网上找到一个mybatis-plus快速逆向生成代码的代码,测试后感觉效果还不错,分享给大家一起使用。
引入版本
<!--代码生成-->
<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>
核心方法
/**
* 逆向生成模板
*/
private static void create(){
FastAutoGenerator.create(DATA_SOURCE_CONFIG)
.globalConfig(builder -> {
builder.author("dzp") // 设置作者
.fileOverride() // 覆盖已生成文件
.enableSwagger() // 开启 swagger 模式
// 指定输出目录
//直接右键复制项目根目录的绝对路径
.outputDir("E:\\study\\medical_app\\src\\main\\java\\com\\medical\\app\\test");
})
.packageConfig(builder -> {
builder.parent("") // 设置父包名
// 设置mapperXml生成路径
//直接右键复制项目mapper文件夹的绝对路径
.pathInfo(Collections.singletonMap(OutputFile.mapperXml,"E:\\study\\medical_app\\src\\main\\resources"));
})
.strategyConfig(builder -> {
builder.addInclude("login_log") // 设置需要生成的表名
.addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
数据源配置
/**
* 数据源配置
*/
private static final DataSourceConfig.Builder DATA_SOURCE_CONFIG = new DataSourceConfig
.Builder("jdbc:mysql://8.xx.xx.xx:xx/db?serverTimezone=UTC&autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true",
"xx", "xxxxxx");
调用案例
/**
* 执行 run
*/
public static void main(String[] args) throws Exception {
//执行
create();
}
成功截图
学习java群
java交流群:868794080