Mybatis-Plus代码生成

添加依赖(Freemarker模板)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- MyBatis Plus Starter -->  
<dependency>
<groupId>com.github.yulichang</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.8-001</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.14</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.34</version>
</dependency>

创建代码生成脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class CodeGenerator {  
private static void generate() {
String url = "jdbc:mysql://mysql.sqlpub.com:3306/nodaoli?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8";
String username = "nodaoli";
String password = "mutpzCqkDlYVUmG6";

// 先得到当前工程目录
String projectPath = System.getProperty("user.dir");
String outputPath = projectPath + "/src/main/java";
String xmlPath = projectPath + "/src/main/resources/mapper";

FastAutoGenerator.create(url, username, password)
.globalConfig(builder -> {
builder.author("nodaoli") // 设置作者
//.enableSwagger() // 开启 swagger 模式 默认值:false
.disableOpenDir() // 禁止打开输出目录 默认值:true
.outputDir(outputPath); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("top.nodaoli.mp") // 设置父包名
.moduleName(null) // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml, xmlPath)); // 设置mapperXml生成路径
})
.strategyConfig(builder -> builder
.entityBuilder() .enableLombok() ) .templateEngine(new FreemarkerTemplateEngine())
.execute();
}
public static void main(String[] args) {
generate();
}}