MyBatisPlus代码生成器与MyBatis逆向工程区别
逆向工程:通过表逆向生成表和对应的mapper类和映射文件
代码生成器:通过表逆向生成,控制层、业务层、持久层、mapper接口以及映射文件
一.代码生成器实现
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.31</version>
</dependency>
2.编写测试类实现代码生成
public class FastAutoGeneratorTest {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/mybatis_plus?characterEncoding=utf-8&userSSL=false", "root", "123456")
.globalConfig(builder -> {
builder.author("B0") // 设置作者
//.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir("F://mybatis_plus"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.b0") // 设置父包名
.moduleName("mybatisplus") // 设置父包模块名,所有生成的包都会在com.b0.mybatisplus下
.pathInfo(Collections.singletonMap(OutputFile.mapper, "F://mybatis_plus"));// 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude("t_user") // 设置需要生成的表名
.addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}