写项目想用mybatis-plus+swagger3,百度最新版代码生成器都是旧版的,且官网的配置过于简洁,所以手敲一份,在官网的基础上加了一堆配置,lombok,restful,mvc三层结构目录等等等等,记录备份

依赖支持

    <dependencies>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--代码生成器构建依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!--mybatis-plus-starter-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
<!--默认模板,不引入这个会报错-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
<!--swagger3-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>

快速生成

旧版可以直接通过new对象调用方法,全局配置,包配置等需要创建三个对象,新版只用一个构建类即可完成所有配置,注意需要先调用xxxBuild()方法在调用其他方法

package com.wang;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile; import java.util.Collections; /**
* 代码生成器
*
* @author whc
* @since 2021/10/13
*/ public class CodeGenerator {
static final String URL = "jdbc:mysql://localhost:3306/m_manage?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=true";
public static void main(String[] args) {
String projectPath = System.getProperty("user.dir");//获取项目路径
FastAutoGenerator.create(URL, "root", "125803")
//全局配置
.globalConfig(builder -> {
builder.author("whc")
.outputDir(projectPath + "/src/main/java")//输出路径
.enableSwagger()//开启swagger3
.fileOverride()//覆盖文件
.disableOpenDir();//不打开文件夹
})
//包名配置
.packageConfig(builder -> {
builder.parent("com.wang")
.moduleName("blog")
.service("service")
.serviceImpl("service.impl")
.controller("controller")
.entity("pojo")
.mapper("mapper")
//自定义输出路径,mapper.xml生成到resources目录下
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, projectPath + "/src/main/resources/mapper"));
})
//策略配置
.strategyConfig(builder -> {
builder.addInclude("student")
.addTablePrefix("t_")//表前缀
.serviceBuilder().formatServiceFileName("%sService")//去掉Service的 "I" 前缀
.controllerBuilder().enableRestStyle()//restful开启
.enableHyphenStyle()//url改变 例如:index_id_1
.entityBuilder().enableLombok();//开启lombok
})
//执行
.execute();
}
}
  • 执行效果

交互式生成

package com.wang;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile; import java.util.Arrays;
import java.util.Collections;
import java.util.List; /**
* 代码生成器
*
* @author whc
* @since 2021/10/13
*/ public class CodeGenerator {
static final String URL = "jdbc:mysql://localhost:3306/m_manage?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=true"; public static void main(String[] args) {
String projectPath = System.getProperty("user.dir");//获取项目路径
FastAutoGenerator.create(URL, "root", "125803")
//全局配置
.globalConfig((scanner, builder) -> {
builder.author("请输入作者名?")
.outputDir(projectPath + "/src/main/java")//输出路径
.enableSwagger()//开启swagger3
.fileOverride()//覆盖文件
.disableOpenDir();//不打开文件夹
})
//包名配置
.packageConfig((scanner, builder) -> {
builder.parent(scanner.apply("请输入包名?"))
.moduleName("blog")
.service("service")
.serviceImpl("service.impl")
.controller("controller")
.entity("pojo")
.mapper("mapper")
//自定义输出路径,mapper.xml生成到resources目录下
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, projectPath + "/src/main/resources/mapper"));
})
//策略配置
.strategyConfig((scanner, builder) -> {
builder.addInclude(getTables(scanner.apply("请输入表名,多个英文逗号分隔?所有输入 all")))
.addTablePrefix("t_")//表前缀
.serviceBuilder().formatServiceFileName("%sService")//去掉Service的 "I" 前缀
.controllerBuilder().enableRestStyle()//restful开启
.enableHyphenStyle()//url改变 例如:index_id_1
.entityBuilder().enableLombok();//开启lombok
})
//执行
.execute();
} // 处理 all 情况
protected static List<String> getTables(String tables) {
return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));
}
}
  • 执行效果



mybatis-plus最新版代码生成器(Swagger3)的更多相关文章

  1. mybatis入门篇:代码生成器(MyBatis Generator)

    这篇文章只是按照自己的需要去配置代码生成器,未对所有配置进行讲解,需要了解具体详情的,请到官网查阅文档.传送门:http://www.mybatis.org/generator/ 1.首先引入相关的依 ...

  2. Mybatis详解系列(五)--Mybatis Generator和全注解风格的MyBatis3DynamicSql

    简介 Mybatis Generator (MBG) 是 Mybatis 官方提供的代码生成器,通过它可以在项目中自动生成简单的 CRUD 方法,甚至"无所不能"的高级条件查询(M ...

  3. Hello Mybatis 02 mybatis generator

    接着上一篇文章通过Mybatis完成了一个User的CRUD的功能之后,这篇开始还需要建立一个Blog类,这样就可以模拟一个简单的微博平台的数据库了. 数据库准备 首先我们,还是需要在数据库中新建一个 ...

  4. visual stduio 插件及代码生成器

    下图是本人常用的visual stuido开发工具插件. 2  使用NArrange格式化代码,这个工具,可以将代码格式化,用region分隔开来. NArrange 0.2.9.0 ________ ...

  5. java web(七): mybatis的动态sql和mybatis generator自动生成pojo类和映射文件

    前言: MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据 不同条件拼接 SQL 语句的痛苦.例如拼接时要确保不能忘记添加必要的空格,还 ...

  6. Mybatis教程-实战看这一篇就够了

    转自:https://blog.csdn.net/hellozpc/article/details/80878563 1.从JDBC谈起 1.1.使用IDEA创建maven工程 1.2.引入mysql ...

  7. Java快速开发平台,JEECG 3.7.7闪电版本发布,增加多套主流UI代码生成器模板

    JEECG 3.7.7 闪电版本发布,提供5套主流UI代码生成器模板 导读 ⊙平台性能优化,速度闪电般提升           ⊙提供5套新的主流UI代码生成器模板(Bootstrap表单+Boots ...

  8. 回顾一下MyBatis逆向工程——自动生成代码

    前言 最近做的项目(SSM+Shiro)的数据库表已经创建完成,一共有15张表,如果我们一个个去写pojo/bean的代码以及各种sql语句的话未免太过麻烦而且很容易出错,这个时候我们就需要MyBat ...

  9. java-mybaits-015-mybatis逆向工程最佳实践【基础mybatis-generator、tk.mybatis、mubatis-plus】

    一.概述 三款框架的功能对比 Mybatis-generator 通用Mapper Mybatis-Plus 代码生成器 支持自动生成Model,Mapper,Mapper XML文件 生成方式不够灵 ...

随机推荐

  1. Blazor+Dapr+K8s微服务之事件发布订阅

    我们要实现的是:在blazorweb服务中发布一个事件,并传递事件参数,然后在serviceapi1服务中订阅该事件,接收到blazorweb服务中发布的事件和参数. 1         在blazo ...

  2. ES6基础之let、const

    es6的块级作用域通俗的讲就是一对花括号中的区域(声明对象的花括号不是块级作用域),块级作用域可以嵌套. let: 1.le声明的变量只在当前(块级)作用域内有效. 2.let声明的变量不能被重复声明 ...

  3. Dockerfile自动化制作镜像

    1.创建Dockerfile文件:vim Dockerfile 2.Dockerfile的编写内容如下: 3.开始制作镜像 制作命令: docker build -t 镜像名:版本号 4.查看已经做好 ...

  4. Spring事务管理回滚问题

    Spring事务管理不能回滚问题 在前段时间学习SpringMVC的练习中,碰到声明式事务管理时,事务不能回滚的情况,通过查看博客和资料,解决了问题. 原因 导致Spring事务管理不能回滚的原因有两 ...

  5. Excel导入保存附件和解析数据

    Excel导入保存附件和解析数据 一,前端上传附件的组件 1.先给一个下载模板的按钮 // 下载Excel模板 downLoadExcel: function () { window.open(GLO ...

  6. MongoDB索引的简单理解

    目录 MongoDB索引 1.语法准备 2.数据准备: 3.索引 3.1 唯一索引 3.2 单键索引 3.3 多键索引 3.4 复合索引 3.5 交叉索引 3.6 部分索引 3.7覆盖索引 3.8 全 ...

  7. 法术迸发(Spellburst)

    描述 法术迸发 (EN:Spellburst ) 是一种在<通灵学园>中加入的关键字异能,在玩家打出一张法术牌后触发,只能触发一次. 若随从在法术结算过程中死亡,则不会触发效果 思路 首先 ...

  8. Java集合:HashMap

    Hashmap是一个存储key-value的映射表. 优点: 索引数据快,查找一个数据对的时间复杂度是O(1) 增加.删除一个数据的时间复杂度是O(1) key不能重复,可以存储一个null值 存储: ...

  9. 为什么在匿名内部类中引用外部对象要加final修饰符

    当所在的方法的形参需要被内部类里面使用时,该形参必须为final. 为什么必须要为final呢? 首先我们知道在内部类编译成功后,它会产生一个class文件,该class文件与外部类并不是同一clas ...

  10. 【OI】WERTYU UVa 10082

    题目: A common typing error is to place the hands on the keyboard one row to the right of the correct ...