springboot mybatis-plus 快速搭建项目
本文章记录mybatis-plus的常见的配置信息,基本满足快速构建代码需求,可以灵活配置,详细配置上面都有备注
前言
使用idea创建一个springboot 项目,导入下面依赖
一 :导入依赖
<!-- mybatis-plus 插件依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
<!-- mybatis-plus 生成代码依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!-- mybatis-plus 生成代码模板依赖-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
<!-- lombok 插件 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
二、编写代码
以上是我的测试项目目录结构
新建一个类 ( 建议把生成的类写在test目录下包 个人建议 )
注意事项:
fileOverride ------------------------覆盖已生成文件,如果有改动记得禁用掉
dateType --------------------------不修改默认是LocalDate
addInclude(“tableName”) -----初始化后开启指定表生成文件
其他后面看类上注释详细信息
package com.demo.web.generator;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.Collections;
public class GeneratorTable {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://xxx:3306/xx", "xx", "xx")
.globalConfig(builder -> {
builder.author("xxx") // 设置作者
//.enableSwagger() // 开启 swagger 模式
//.fileOverride() // 覆盖已生成文件,需要注意,如果你已经写了就不要开启
.dateType(DateType.ONLY_DATE)// 日期格式 不写默认是LocalDate
.outputDir(System.getProperty("user.dir") + "/report-web/src/main/java") // 指定输出目录
.disableOpenDir();//禁止打开输出目录
})
.packageConfig(builder -> {
builder.parent("com.demo.web") // 设置父包名
// 指定生成的各个模块子包名,不写都是默认值
// .moduleName("sys")
// .entity("po")
// .service("service")
// .serviceImpl("service.impl")
// .mapper("mapper")
// .xml("mapper.xml")
// .controller("controller")
// .other("other")
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/report-web/src/main/resources/mapping")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder
//.addInclude("tablename") // 设置需要生成的表名 不写默认所有 后期新增表时填写
//.addTablePrefix("t_", "c_"); // 设置过滤表前缀
.entityBuilder().enableLombok()// 开启lombok 模式
.enableTableFieldAnnotation();// 实体生成表注解@TableName和字段注解@TableField
}).strategyConfig(builder -> {
builder
.enableSkipView() // 跳过视图 默认会将你的视图当成实体
.controllerBuilder()
.enableRestStyle() // 开启生成@RestController 控制器 默认是@Controller
.mapperBuilder()
.enableMapperAnnotation(); // 开启@Mapper注解
})
.templateEngine(new FreemarkerTemplateEngine())
.templateConfig(builder -> {
// 当你不需要生成某个类型时开启
// builder
// 禁用生成controller
// .disable(TemplateType.CONTROLLER)
// 禁用生成实体
// .disable(TemplateType.ENTITY)
// 禁用生成service
// .disable(TemplateType.SERVICE)
// 禁用生成接口
// .disable(TemplateType.MAPPER)
// 禁用生成xml
// .disable(TemplateType.XML);
})
.execute();
}
}
更多参数可以查看
https://mp.baomidou.com/guide/generator-new.html#%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8