springboot mybatis-plus 3.5.1代码生成器配置

  • Post author:
  • Post category:其他



一. 引入坐标

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.1</version>
</dependency>
<!-- 代码生成器-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.5.1</version>
</dependency>
<!-- 以上两个依赖版本号要一致 -->
<!-- MyBatis-Plus默认模板引擎 -->
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity</artifactId>
    <version>1.7</version>
</dependency>


二. 编写测试类



package com.yeb.common;

import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

/**
 * mybatis-plus 代码生成器
 */
@SpringBootTest
class MybatisPlusGenerator {
    @Test
    void Start() {
        // 项目路径
        String PROJECT_DIR = "F:\\file\\java\\yeb\\";
        // 数据库设置
        String URL = "jdbc:mysql://localhost:3306/yeb?useSSL=false&&characterEncoding=utf-8&&serverTimezone=Asia/Shanghai";
        String USERNAME = "root";
        String PASSWORD = "123456";
        FastAutoGenerator.create(URL, USERNAME, PASSWORD)
                // 全局配置
                .globalConfig(builder -> {
                    builder.author("") // 设置作者
                            .enableSwagger() // 开启 swagger 模式
//                            .fileOverride() // 覆盖已生成文件
                            .disableOpenDir()   // 不打开目录
                            .outputDir(PROJECT_DIR + "src/main/java"); // 指定输出目录
                })
                // 包配置
                .packageConfig(builder -> {
                    builder.parent("com.yeb") // 设置父包名
                            .moduleName("generator") // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, PROJECT_DIR + "src/main/resources/mapper/")); // 设置mapperXml生成路径
                })
                // 策略配置
                .strategyConfig(builder -> {
                    builder.addInclude(scanner("表名").split(",")) // 设置需要生成的表名
                            .addTablePrefix("") // 设置过滤表前缀
                            // Entity策略配置
                            .entityBuilder()
                            .enableLombok() // 开启 lombok 模型
//                            .logicDeleteColumnName("")    //  逻辑删除字段名(数据库)
//                            .logicDeletePropertyName("")  //  逻辑删除属性名(实体)
                            .enableTableFieldAnnotation() //  开启生成实体时生成字段注解
                            // Controller策略配置
                            .controllerBuilder()
                            .enableRestStyle() // 开启生成 @RestController 控制器
                            // Service策略配置
                            .serviceBuilder()
                            .formatServiceFileName("%sService")
                            .formatServiceImplFileName("%sServiceImp")
                            // Mapper策略配置
                            .mapperBuilder()
                            .enableMapperAnnotation()   // 开启 @Mapper 注解
                    ;
                })
//                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();

    }
    /**
     * 读取控制台内容
     */
    public static String scanner(String tip) {
        Scanner scanner = new Scanner(System.in);
        StringBuilder help = new StringBuilder();
        help.append("请输入" + tip + "(多个表用 , 分割):");
        System.out.println(help.toString());
        if (scanner.hasNext()) {
            String ipt = scanner.next();
            if (StringUtils.isNotBlank(ipt)) {
                return ipt;
            }
        }
        throw new MybatisPlusException("请输入正确的" + tip + "!");
    }
}


最后运行测试类就可以生成文件了。。。

大功告成,移动到对应目录即可。。。



版权声明:本文为Lean_on_Me原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。