写点什么

mybatis-plus 代码生成器

作者:王彦涛
  • 2023-12-03
    北京
  • 本文字数:1856 字

    阅读完需:约 6 分钟

最近公司新做的项目,用代码生成器生成基础代码很方便,本文对常用的配置整理成了一个模版,项目直接用即可

package com.ele.data;
import java.util.HashMap;import java.util.Map;import java.util.Objects;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;import com.baomidou.mybatisplus.generator.config.OutputFile;import org.junit.jupiter.api.Test;import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTestpublic class MysqlGenerator { private static final String CLASS_PATH = Objects.requireNonNull(MysqlGenerator.class.getClassLoader().getResource("")).getPath(); private static final String PACKAGE_NAME = "com.ele.data"; private static final String OUT_PATH = System.getProperty("user.dir")+"/src/main/java"; private static final String MAPPER_OUT_PATH = System.getProperty("user.dir")+"/src/main/resources/mapper"; private static final String SERVICE_OUT_PATH = System.getProperty("user.dir")+"/src/main/java/com/ele/data/service"; private static final String AUTHOR = "wyt"; private static final String LOGIC_DELETE_COLUM_NNAME = "is_deleted"; private static final String TEMPLATE_SERVICE = "template/service.java"; private static final String[] TABLE_NAMES = new String[] {"ele_device"}; private static final Map<OutputFile, String> PATH_INFO = new HashMap<OutputFile, String>(){ private static final long serialVersionUID = 9147103437213976568L; { put(OutputFile.mapperXml, MAPPER_OUT_PATH); put(OutputFile.service, SERVICE_OUT_PATH); } }; //数据库url private static final String URL = ""; //用户名 private static final String USER_NAME = ""; //密码 private static final String PASSWORD = "igA!BiAr@Q3)1iv$24X";
/** * <p> * MySQL 生成演示 * </p> */ @Test public void gen() {// log.info(TEMPLATE_SERVICE.substring(1, TEMPLATE_SERVICE.length())); FastAutoGenerator.create(URL, USER_NAME, PASSWORD) .globalConfig(builder -> { builder.author(AUTHOR) // 设置作者// .enableSwagger() // 开启 swagger 模式 .disableOpenDir() //不打开文件 .fileOverride() // 覆盖已生成文件 .outputDir(OUT_PATH); // 指定输出目录 })// .templateConfig(builder ->{// builder.service(TEMPLATE_SERVICE)// .build();// }) .packageConfig(builder -> { builder.parent(PACKAGE_NAME) // 设置父包名// .moduleName(MODULE_NAME) // 设置父包模块名 .entity("entity") .mapper("mapper") .service("service") .serviceImpl("service.impl") .controller("controller") .pathInfo(PATH_INFO); // 设置mapperXml生成路径 }) .strategyConfig(builder -> { builder.addInclude(TABLE_NAMES) // 设置需要生成的表名 .addTablePrefix("t_", "c_") // 设置过滤表前缀 .mapperBuilder() .enableBaseResultMap() //是否生成BaseResultMap 映射map .enableBaseColumnList() // 是否生成BaseColumnList 所有字段 .build() .entityBuilder() .enableActiveRecord() // ar模式 .enableChainModel() // 链式调用 .enableLombok() // lombok .enableTableFieldAnnotation() // 字段注解// .enableRemoveIsPrefix() // is前缀 .logicDeleteColumnName(LOGIC_DELETE_COLUM_NNAME) .formatFileName("%s") .build() .serviceBuilder() .formatServiceFileName("%sService") .formatServiceImplFileName("%sImpl")// .superServiceClass("") .build();
})// .templateConfig(builder -> {// builder.controller("") //不生成controller// .build();// }) .execute(); }}
复制代码


用户头像

王彦涛

关注

终身学习、研究java架构、ai大模型 2019-12-06 加入

商业合作: wytwhdwdd

评论

发布
暂无评论
mybatis-plus代码生成器_Mybatis Plus_王彦涛_InfoQ写作社区