新建一个项目
添加依赖
点击完成,项目结构如下
手动添加以下依赖
打开pom.xml文件,手动添加以下依赖,用于自动生成代码
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
添加好之后,重新加载maven依赖
创建基础类
新建一个包base,并且新建一个实体类(用于超类)
建表
生成代码:
在test/java/com.example.demo中新建一个java类
TIPS:一般复制,然后在IDEA中直接粘贴即可自动创建这个java类
package com.example.demo;
import com.baomidou.mybatisplus.annotation.IdType;
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 java.util.Collections;
public class CodeGenerator {
private String moudleName = "love";//模块名
private String tableName = "tb_user";//表名
@Test
public void generate() {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/dbtest?serverTimezone=Asia/Shanghai", "dbtest", "dbtest")
.globalConfig(builder -> {
builder.author("DaenMax") // 设置作者
//.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.example.demo") // 设置父包名
.moduleName(moudleName) // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") +
"/src/main/resources/mapper")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude(tableName) // 设置需要生成的表名
.addTablePrefix("tb_") // 设置过滤表前缀
.entityBuilder()
.enableLombok()
.superClass("com.example.demo.base.baseEntity")
.idType(IdType.AUTO)
.enableChainModel()
.controllerBuilder()
.enableRestStyle()
.enableHyphenStyle();
})
.templateConfig(builder -> {
builder.mapperXml("/templates/mapper.xml");
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
执行代码生成
上述代码是创建tb_user的相关代码,点击运行测试
运行成功,可以看到成功生成了tb_user相关的实体类、控制器、方法等
改一下表名为tb_class,继续生成tb_class的相关代码,然后点击运行
添加 @Mapper 注解
手动给mapper文件加上 @Mapper 注解
@Mapper