mybatis-plus代码生成器配置(3.5.1+版本)
·
引入依赖
<!--freemarker-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
<!--代码生成器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
编写MybatisPlusConfig类
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableTransactionManagement
@MapperScan("com.pag.mapper")
public class MybatisPlusConfig {
@Bean
public PaginationInnerInterceptor paginationInnerInterceptor(){
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
return paginationInnerInterceptor;
}
}
GeneratorCodeConfig
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class GeneratorCodeConfig {
public static void main(String[] args) {
//要生成的表
List<String> list = new ArrayList<>();
list.add("m_blog");
list.add("m_user");
//核心代码
FastAutoGenerator.create("jdbc:mysql://localhost:3306/vueblog?useUnicode=true&characterEncoding=utf-8", "root", "123456")
.globalConfig(builder -> {
builder.author("PAG") // 设置作者
.outputDir(System.getProperty("user.dir")+"\\src\\main\\java")// 指定输出目录
.enableSwagger() // 开启 swagger 模式
.fileOverride()// 覆盖已生成文件
.commentDate("yyyy-MM-dd")//日期格式
.fileOverride();//覆盖之前文件
})
.packageConfig(builder -> {
builder.parent("com.pag") // 设置父包名
//.moduleName("system") // 设置父包模块名
//设置包的命名
.entity("pojo")
.service("service")
.serviceImpl("serviceImpl")
.controller("controller")
.mapper("mapper")
.xml("mapper")
.pathInfo(Collections.singletonMap(OutputFile.mapperXml,System.getProperty("user.dir")+"\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude(list) // 设置需要生成的表名
.addTablePrefix("m_") // 设置过滤表前缀
.serviceBuilder()// service策略配置
.formatServiceFileName("%sService")// 格式化 service 接口文件名称
.formatServiceImplFileName("%sServiceImpl")// 格式化 serviceImpl 接口文件名称
.entityBuilder()// 实体策略配置
.enableLombok()// 开启 lombok 模型
.logicDeleteColumnName("deleted")// 逻辑删除字段名(数据库)
.enableTableFieldAnnotation()// 开启生成实体时生成字段注解
.controllerBuilder()// controller 策略配置
.formatFileName("%sController")// 格式化文件名称
.enableHyphenStyle()// 开启驼峰命名转字符
.enableRestStyle()// 开启生成@RestController 控制器
.mapperBuilder()// mapper 策略配置
.superClass(BaseMapper.class)// 设置父类
.formatMapperFileName("%sMapper")// 格式化 mapper 文件名称
.enableMapperAnnotation()// 开启 @Mapper 注解
.formatXmlFileName("%sMapper");// 格式化 xml 实现类文件名称
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
生成效果

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)