本章导学:
- 什么是MP的代码生成器
- 基于SpringBoot实现MP代码生成器
- 创建SpringBoot工程
- 导入所需的依赖
- 编写yml配置文件
- 定制MP代码生成器模板
注:本章针对的为mybatis-plus-generator 3.5.1 及其以上版本
一、什么是MP的代码生成器
官网说明:AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。
官网网址如下:代码生成器(新) | MyBatis-Plus
二、基于SpringBoot实现MP代码生成器
2.1、创建SpringBoot工程
选择 FILE--NEW PROJECT
这里勾选WEB骨架
2.2、导入所需的依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- mysql连接驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- druid数据源 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
<!-- Mybatis-Plus坐标 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<!-- MP代码生成器所需要的依赖 -->
<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>
<!-- lombok实体类快速开发 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2.3、编写yml配置文件
#Tomcat端口号
server:
port: 80
spring:
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/db_brand
username: root
password: 123456
mybatis-plus:
#mapper文件的位置
mapper-locations: classpath:mapper/*.xml
#起别名
type-aliases-package: com.brrbaii.pojo
#开启日志
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#为实体类增加前缀
# global-config:
# db-config:
# table-prefix: tb_
#运行日志,默认INFO级别
#logging:
# level: debug
2.4、定制MP代码生成器模板
选择:File---Setting---Editor---File and Code Templates
模板内容如下:
package com.brrbaii;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Collections;
public class FastAuto {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/db_brand", "root", "123456")
.globalConfig(builder -> {
builder.author("brrbaii") // 设置作者
.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir("D://Auto"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.brrbaii") // 设置父包名
// .moduleName("system") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml, "D://Auto")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude("user") // 设置需要生成的表名
.addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
直接运行这个类就大功告成了,参数设置看注释