MyBatis-Plus 代码生成器3.5.1+

package com.test.mybatis_plus_tes/*
    官方代码生成器配置文档 https://baomidou.com/pages/981406/



    CodeGenerator类放在spring boot启动类同级目录下run

    添加依赖
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
        <version>3.5.1</version>
    </dependency>

    <!--默认模板引擎velocity, 还支持Freemarker、Beetl, 都需要引入依赖(使用其他引擎详情见官网)-->
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
        <version>2.2</version>
    </dependency>

    <!-- freemarker 模板引擎 -->
    <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
        <version>2.3.28</version>
    </dependency>

    <!-- 开启 swagger 所需依赖 -->
<!-- 用法 https://www.cnblogs.com/Rohmi/p/16168622.html--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> <!-- 开启 Lombok 所需依赖 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.16</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.16</version> </dependency> */ 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.engine.FreemarkerTemplateEngine; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class CodeGenerator { public static void main(String[] args) { List<String> tables = new ArrayList<>(); // 配置要生成的表名 tables.add("sys_user"); tables.add("sys_order"); tables.add("sys_goods"); FastAutoGenerator.create("jdbc:mysql://localhost:3306/mybatisplustest?serverTimezone=UTC","root","root") .globalConfig(builder -> { builder.author("Rohmi") // 作者 .outputDir(System.getProperty("user.dir")+"\\src\\main\\java") // 输出路径(写到java目录) .enableSwagger() // 开启swagger,记得引入依赖并添加配置文件swagger2 .commentDate("yyyy-MM-dd") .fileOverride(); // 开启覆盖之前生成的文件 }) .packageConfig(builder -> { builder.parent("com.test")    // /src/main/java/*** .moduleName("mybatis_plus_test") // /src/main/java/↑↑↑/*** .entity("entity") .service("service") .serviceImpl("serviceImpl") .controller("controller") .mapper("mapper") .xml("mapper") .pathInfo(Collections.singletonMap(OutputFile.mapperXml,System.getProperty("user.dir")+"\\src\\main\\resources\\mapper")); }) .strategyConfig(builder -> { builder.addInclude(tables) .addTablePrefix("sys_") // 过滤表名前缀 .serviceBuilder() .formatServiceFileName("%sService") .formatServiceImplFileName("%sServiceImpl") .entityBuilder() .enableLombok() // 开启Lombok .logicDeleteColumnName("deleted") // 逻辑删除字段名 .enableTableFieldAnnotation() // .versionColumnName("version")  // 乐观锁字段名 .controllerBuilder() .formatFileName("%sController") .enableRestStyle() // 开启RestController .mapperBuilder() .enableBaseResultMap() // 生成通用的resultMap .superClass(BaseMapper.class) .formatMapperFileName("%sMapper") .enableMapperAnnotation() .formatXmlFileName("%sMapper"); }) .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 .execute(); } }

  

posted @ 2022-04-19 16:37  陈超阿  阅读(154)  评论(0)    收藏  举报