从零配置MybatisPlus最新代码生成器(3.5.3.1)

文章详细记录了如何在SpringBoot3项目中,利用Mybatis-Plus3.5.3.1版本的代码生成器配合Freemarker模板引擎生成代码。提到了升级到3.5.3.1后对SpringDoc的支持以及文件覆盖配置的变化,并提供了示例代码展示配置和使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录使用最新代码生成器的过程。

系列文章指路👉

系列文章-基于SpringBoot3创建项目并配置常用的工具和一些常用的类

1.版本

  • spring-boot 3.0.6
  • mybatis-plus 3.5.3.1
  • mybatis-plus-generator 3.5.3.1
  • mysql 8
  • jdk 17

2.pom.xml

没有模板引擎或者没有数据库driver,生成过程中均会报错

        <!-- mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.1</version>
        </dependency>
        <!-- mybatis-plus 代码生成器 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.3.1</version>
        </dependency>
        <!-- 模板引擎 -->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.30</version>
        </dependency>
        <!-- mysql driver -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.23</version>
        </dependency>

3.生成路径

参考:官方代码生成器(新)

大部分代码一样的,解释下文件路径的部分吧:
贴一下我的代码路径:
代码路径
System.getProperty("user.dir") 获取工程根目录
通过 +/src/main/java + com.ya.boottest (项目路径)+ .test1.autoCode
就可以把代码生成到test1功能下的autoCode文件夹中:
res1
res2

4. 从3.5.1升级到3.5.3.1

支持生成SpringDoc注解

支持SpringDoc,对使用了SpringDoc的SpringBoot3项目十分友好
在全局配置里配置 .enableSpringdoc()
在这里插入图片描述

文件覆盖写法改变

原来在全局配置里的允许文件覆盖被转移到策略配置里了:
在这里插入图片描述

5.源代码

package com.ya.boottest.util;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
/**
 * <p>created time:2023/4/25 19:34</p>
 * <p>des:
 *     代码生成器(新)
 * </p>
 *
 * @author Ya Shi
 */
public class YaCodeGenerator {

    /**
     * 数据源配置
     */
    private static final DataSourceConfig.Builder DATA_SOURCE_CONFIG = new DataSourceConfig
            .Builder("jdbc:mysql://localhost:3306/study", "root", "123456")
            .dbQuery(new MySqlQuery());

    /**
     * 输出路径
     */
    private static final String outputDir = System.getProperty("user.dir") + "/src/main/java";

    public static void main(String[] args) {

        FastAutoGenerator.create(DATA_SOURCE_CONFIG)
                .globalConfig(builder -> {
                    builder.author("Ya Shi") // 设置作者
                            .enableSpringdoc()
                            // .enableSwagger() // 开启 swagger 模式
                            .outputDir(outputDir)   // 指定输出目录
                            .disableOpenDir();   //禁止打开输出目录
                })
                .packageConfig(builder -> {
                    // builder.parent("com.ya.boottest.fruit.autoCode"); // 设置父包名
                    builder.parent("com.ya.boottest.test"); // 设置父包名
                })
                .strategyConfig(builder -> {
                    builder.addInclude("test111")
                            .controllerBuilder().enableFileOverride().enableRestStyle()
                            .serviceBuilder().enableFileOverride()
                            .entityBuilder().enableFileOverride()
                            .mapperBuilder().enableFileOverride(); // 设置需要生成的表名
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小雅痞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值