package com.thtf.zwdsj.gongjia.config; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.generator.FastAutoGenerator; import com.baomidou.mybatisplus.generator.config.OutputFile; import com.baomidou.mybatisplus.generator.config.rules.DateType; import java.util.Arrays; import java.util.Collections; import java.util.List; /** * @Author ggl * @Date 2023/5/4 * @Version 1.0 */ public class MybatisPlusGenerator { public static void main(String[] args) { //这里按着给的注解修改参数即可 //手动配置数据源 String url = "jdbc:mysql://10.10.60.119:3309/tjy-stat?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&useCursorFetch=true&allowMultiQueries=true&rewriteBatchedStatements=true"; //注意修改数据库名 String name = "thtf"; String password = "THTF_tjy_thtf"; //数据库表的设置 List<String> listTable = Arrays.asList("t_price_ppi_group_config"); //设置需要自动代码生成的表名 //基本信息 String author = "ggl"; //作者 String parent = "com.thtf.zwdsj.gongjia"; //父包名 String module = "thtf.zwdsj.gongjia"; //模块包名 //已封装好,无需更改。可按照需求进行注释 //1、配置数据源 FastAutoGenerator.create(url, name, password) //2、全局配置 .globalConfig(builder -> { builder.author(author) // 设置作者名 .outputDir(System.getProperty("user.dir") + "/src/main/java") //设置输出路径:项目的 java 目录下【System.getProperty("user.dir")意思是获取到项目所在的绝对路径】 .commentDate("yyyy-MM-dd hh:mm:ss") //注释日期 .dateType(DateType.ONLY_DATE) //定义生成的实体类中日期的类型 TIME_PACK=LocalDateTime;ONLY_DATE=Date; .fileOverride() //覆盖之前的文件 .enableSwagger(); //开启 swagger 模式 //.outputDir(""); //指定输出目录,一般指定到java目录 }) //3、包配置 .packageConfig(builder -> { builder.parent(parent) // 设置父包名 //.moduleName(module) //设置模块包名 .entity("entity") //pojo 实体类包名 .service("service") //Service 包名 .serviceImpl("service.impl") // ***ServiceImpl 包名 .mapper("mapper") //Mapper 包名 .xml("mapper.xml") //Mapper XML 包名 .controller("controller") //Controller 包名 .other("config") //自定义包名(一般不在这里生成,而是后面编写的时候自己建包) .pathInfo(Collections.singletonMap(OutputFile.mapper.xml, System.getProperty("user.dir") + "/src/main/resources/mapper")); //配置 mapper.xml 路径信息:项目的 resources 目录下 }) //4、策略配置 .strategyConfig(builder -> { builder.enableCapitalMode() //开启大写命名 .enableSkipView() //创建实体类的时候跳过视图 .addInclude(listTable) // 设置需要生成的数据表名 //4.1、实体类策略配置 .entityBuilder().enableChainModel() //开启链式模型 //.disableSerialVersionUID() //默认是开启实体类序列化,可以手动disable使它不序列化。由于项目中需要使用序列化就按照默认开启了 .enableTableFieldAnnotation() // 开启生成实体时生成字段注解 .enableLombok() //开启 Lombok //4.2、Controller策略配置 .controllerBuilder().enableHyphenStyle() //开启驼峰连转字符 .formatFileName("%sController") //格式化 Controller 类文件名称,%s进行匹配表名,如 UserController .enableRestStyle() //开启生成 @RestController 控制器 //4.3、service 策略配置 .serviceBuilder().formatServiceFileName("%sService") //格式化 service 接口文件名称,%s进行匹配表名,如 UserService .formatServiceImplFileName("%sServiceImpl") //格式化 service 实现类文件名称,%s进行匹配表名,如 UserServiceImpl //4.4、Mapper策略配置 .mapperBuilder().superClass(BaseMapper.class) //设置父类 .enableBaseResultMap() //启用 BaseResultMap 生成 .enableBaseColumnList() //启用 BaseColumnList .formatMapperFileName("%sMapper") //格式化 mapper 文件名称 .enableMapperAnnotation() //开启 @Mapper 注解 .formatXmlFileName("%sXml") //格式化Xml文件名称 .formatMapperFileName("%sMapper"); //格式化Mapper文件名称 }) //6、执行 .execute(); } }
标签:xml,包名,实体类,String,mapper,MybatisPlusGenerator,开启,import From: https://www.cnblogs.com/chenTo/p/17435086.html