概要
逆向工程简单来说就是,我们先创建好了数据库,然后根据数据库使用Mybatis-Plus的生成器代码自动帮我们生成我们需要的类:controller、service、mapper等等,不需要我们自己再手动配置,省去了不少麻烦,能够让我们把更多的时间花在业务上。
操作步骤
1.引入依赖
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
<!-- freemarker -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</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";
String username = "root";
String password = "123456";
String moduleName = "sys";
String mapperLocation = "D://" + moduleName;
String tables = "business_info";
FastAutoGenerator.create(url, username, password)
.globalConfig(builder -> {
builder.author("cc") // 设置作者
.outputDir("D://"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.uta") // 设置父包名
.moduleName(moduleName) // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml, mapperLocation)); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.entityBuilder().enableLombok();
builder.addInclude(tables) // 设置需要生成的表名
.addTablePrefix("x_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
具体的配置可以查看官网: 策略配置