MyBatis-Plus代码生成器如何使用(最新版)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 文章目录一、引入依赖二、代码示例三、测试结果1、控制台输出2、生成的代码

文章目录


一、引入依赖


    <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>${mybatis.plus.generator}</version>
            <scope>test</scope>
            <optional>true</optional>
        </dependency>
        <!-- mybatis-plus-generator中已有依赖,直接引入即可 -->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <scope>test</scope>
            <optional>true</optional>
        </dependency>


备注:这里mybatis-plus-generator的最新版本是3.5.2

二、代码示例


public class MybatisPlusCodeAutoGeneration {
  private static final String URL = "jdbc:mysql://localhost:3306/rbac";
  private static final String USERNAME = "root";
  private static final String PASSWORD = "root";
  /**
   * 自动生成代码输出目录,这里默认类路径下的src/test/java/com/universe包下,即当前工程的test目录下。
   */
  private static final String OUTPUT_DIR = System.getProperty("user.dir") + File.separator + "src/test/java/com/universe";
  public static void main(String[] args) {
    FastAutoGenerator.create(URL, USERNAME, PASSWORD)
      // 开启fileOverrride重新旧文件,disableOpenDir禁用代码生成后打开输出目录对话框
      .globalConfig(builder -> builder.author("liuyalou").fileOverride().disableOpenDir().outputDir(OUTPUT_DIR))
      // parent指定生成的代码在哪个包下,entity可以指定实体(DO)所在的包名
      .packageConfig(builder -> builder.parent("com.universe").entity("pojo.domain"))
      // addInclude指定包含的表名,不调用该方法默认为所有表生成代码;addTablePrefix可以过滤表前缀,即t_user变成user
      .strategyConfig(builder -> builder.addInclude("t_user").addTablePrefix("t_")
        // 禁用为实体类生成序列化ID;formatFileName格式化生成的实体类名称,即t_user -> UserDO
        .entityBuilder().disableSerialVersionUID().formatFileName("%sDO")
        // formatMapperFileName格式化Mapper接口名称,即t_user -> UserMapper
        // formatXmlFileName格式化Mapper.xml文件名称,即t_user -> UserMapper.xml
        .mapperBuilder().formatMapperFileName("%sMapper").formatXmlFileName("%sMapper")
        .build()
      )
      // MyBatis-Plus代码生成器是通过模板引擎来渲染文件的,默认模板引擎是Velocity,根据依赖我们使用Freemarker
      .templateEngine(new FreemarkerTemplateEngine())
      .execute();
  }
}

1、具体配置参考 MyBatis Plus代码生成器配置

2、更多代码示例参考 MyBatis Plus Generator代码示例

三、测试结果



1、控制台输出

16:43:03.444 [main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerator - ==========================准备生成文件...==========================
16:43:03.910 [main] DEBUG com.baomidou.mybatisplus.generator.config.querys.MySqlQuery - 执行SQL:show table status WHERE 1=1  AND NAME IN ('t_user')
16:43:03.958 [main] DEBUG com.baomidou.mybatisplus.generator.config.querys.MySqlQuery - 返回记录数:1,耗时(ms):45
16:43:04.016 [main] DEBUG com.baomidou.mybatisplus.generator.config.querys.MySqlQuery - 执行SQL:show full fields from `t_user`
16:43:04.030 [main] DEBUG com.baomidou.mybatisplus.generator.config.querys.MySqlQuery - 返回记录数:8,耗时(ms):28
16:43:04.246 [main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerator - ==========================文件生成完成!!!==========================

2、生成的代码

可以看到com.universe包下有自动生成的代码,如下:d66f153e48c84f468f36f0ee13e9a9de.png备注:建议配置packageConfig(builder -> builder.parent("com.universe"))时,包名与实际工程包目录结构保持一致,这样生成的代码不用修改可以直接复制。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
24天前
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
|
2月前
|
XML Java 关系型数据库
springboot 集成 mybatis-plus 代码生成器
本文介绍了如何在Spring Boot项目中集成MyBatis-Plus代码生成器,包括导入相关依赖坐标、配置快速代码生成器以及自定义代码生成器模板的步骤和代码示例,旨在提高开发效率,快速生成Entity、Mapper、Mapper XML、Service、Controller等代码。
springboot 集成 mybatis-plus 代码生成器
|
4月前
Mybatis-Plus 代码生成器
Mybatis-Plus 代码生成器
|
6月前
|
JavaScript Java 关系型数据库
SpringBoot + Mybatis + Vue的代码生成器
SpringBoot + Mybatis + Vue的代码生成器
76 2
|
6月前
|
JavaScript 关系型数据库 Java
MyBatisPlus 最新版代码生成器(直接拿来就能用,包含自动生成 Vue 模版)
MyBatisPlus 最新版代码生成器(直接拿来就能用,包含自动生成 Vue 模版)
332 0
|
6月前
|
XML Java 数据库连接
MyBatis代码生成器
MyBatis代码生成器
113 0
|
6月前
|
SQL 资源调度 Java
mybatis-plus代码生成器的UI界面使用非常方便
mybatis-plus代码生成器的UI界面使用非常方便
108 0
|
6月前
如何使用MybatisPlus的代码生成器功能?
如何使用MybatisPlus的代码生成器功能?
|
6月前
|
数据库连接
一款非常好用的MyBatisPlus代码生成工具
一款非常好用的MyBatisPlus代码生成工具
35 0
|
6月前
|
Java 数据库连接 数据库
CodeGenerator——SpringBoot整合MyBatisPlus代码生成器
CodeGenerator——SpringBoot整合MyBatisPlus代码生成器
482 0