利用springboot + mybatis-plus 代码自动生成器快速搭建后端框架

项目环境

  • IDEA 2020
  • springboot 2.3.7.RELEASE
  • mybatis-plus 3.5.1
  • JDK 1.8

操作步骤

一、代码生成器

1. 创建简单的springboot项目,一直next即可

2. 引入mybatis-plus代码生成器

  • 添加Maven依赖 注意去掉与原来重复的依赖
<!--SpringBoot通用依赖模块-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>
<!--mybatis-plus-->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version>
</dependency>
<!--mybatis-plus代码生成器依赖-->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.1</version>
</dependency>
<!-- freemarker模板 -->
<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.31</version>
</dependency>
<!-- mysql -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.16</version>
</dependency>
<!--lombok依赖-->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional>
</dependency>
<!--Swagger-UI API文档生产工具-->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version>
</dependency>
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version>
</dependency>
<!--解决Swagger 2.9.2版本NumberFormatException-->
<dependency><groupId>io.swagger</groupId><artifactId>swagger-models</artifactId><version>1.6.0</version>
</dependency>
<dependency><groupId>io.swagger</groupId><artifactId>swagger-annotations</artifactId><version>1.6.0</version>
</dependency>
  • 创建代码生成器文件,修改文件中的数据库用户名及密码,包路径等 (注意包名文件名与自己创建的对应)
    这里只是用了一些基本配置,更多配置请看https://baomidou.com/pages
package com.example.demo.generator;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.*;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;/*** mybatis-plus代码生成器** @author fzshuai* @date 2022/03/13 16:45* @since 1.0*/
public class MyBatisPlusGenerator {//修改为你自己的数据库地址private static final String datasourceUrl = "jdbc:mysql://localhost:3306/devicemanage?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";//修改为你自己的数据库账号private static final String datasourceUsername = "root";//修改为你自己的数据库密码private static final String datasourcePassword = "root";public static void main(String[] args) {// 项目路径String projectPath = System.getProperty("user.dir");// 代码生成器FastAutoGenerator.create(datasourceUrl, datasourceUsername, datasourcePassword)// 全局配置.globalConfig(initGlobalConfig(projectPath)).packageConfig(initPackageConfig(projectPath)).strategyConfig(initStrategyConfig())// 使用Freemarker引擎模板,默认的是Velocity引擎模板.templateEngine(new FreemarkerTemplateEngine()).execute();}// 处理 all 情况protected static List<String> getTables(String tables) {return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));}/*** 初始化全局配置*/private static Consumer<GlobalConfig.Builder> initGlobalConfig(String projectPath) {return builder -> {// 作者builder.author("pengmq")// 输出路径.outputDir(projectPath + "/src/main/java")// 禁止打开输出目录.disableOpenDir()// 开启swagger.enableSwagger()// 注释日期.commentDate("yyyy/MM/dd HH:mm")// 开启覆盖之前生成的文件.fileOverride();};}/*** 初始化包配置*/private static Consumer<PackageConfig.Builder> initPackageConfig(String projectPath) {return builder -> {builder.parent("com.example.demo") //生成文件的父包.entity("model").service("service").serviceImpl("service.impl").controller("controller").mapper("mapper").xml("mapper").pathInfo(Collections.singletonMap(OutputFile.mapperXml, projectPath + "/src/main/resources/mapper/"));};}/*** 初始化策略配置*/private static BiConsumer<Function<String, String>, StrategyConfig.Builder> initStrategyConfig() {return (scanner, builder) -> {builder.addInclude(getTables(scanner.apply("请输入表名,多个英文逗号分隔?所有输入 all")))// 增加过滤表前缀//.addTablePrefix("t_")// service策略配置.serviceBuilder().formatServiceFileName("%sService").formatServiceImplFileName("%sServiceImpl")// entity策略配置.entityBuilder()// 数据库表映射到实体的命名策略.naming(NamingStrategy.underline_to_camel)// 数据库表字段映射到实体的命名策略.columnNaming(NamingStrategy.no_change)// 开启lombok模型.enableLombok()// controller策略设置.controllerBuilder().formatFileName("%sController").enableRestStyle().enableHyphenStyle()// mapper策略设置.mapperBuilder()// 生成通用的resultMap.enableBaseResultMap().enableBaseColumnList().superClass(BaseMapper.class).formatMapperFileName("%sMapper").enableMapperAnnotation().formatXmlFileName("%sMapper");};}}
  • 运行main方法
  • 按照指引输入要生成代码对应的表 (数据库中的表名)
  • 此时就生成成功啦!可以看到目录中已经多出了生成的文件,其中生成mapper文件和service文件继承了mybatisplus的接口类,这两个类聚合了一些单表的增删改查等基本操作,用起来还是很方便哒!
    用法:mybatisplusa官方文档

    进阶推荐:springboot+JWT+redis实现token身份令牌验证(附代码)(超详细)
     
    进阶推荐:springboot整合swagger2,高效制作漂亮整洁的接口文档必备(附代码)

快速搭建springboot+mybatis-plus代码自动生成器的后端框架相关推荐

  1. spring boot:从零开始搭建一个项目 - day 5 Mybatis plus代码自动生成器

    spring boot:从零开始搭建一个项目 - day 5 Mybatis plus代码自动生成器 一.Mybatis plus代码自动生成器 1.引入配置 2.创建Controller 3.执行m ...

  2. Mybatis Plus 代码自动生成器常用配置参考(详细解读)

    Mybatis Plus 代码自动生成器常用配置 代码自动生成器常用配置 基础配置 代码自动生成配置(详) 1.常量 2.主方法用于运行生成代码 3.代码生成方法 4.各项配置详解 代码自动生成器常用 ...

  3. 从零开始快速搭建SpringBoot+Mybatis+小程序应用--微信小程序的入门和前后端的联调

    目录 项目介绍 vx小程序简介 VX开发工具介绍 列表页开发 list的编写 列表页前后端联调 信息编辑页开发 operation的编写 区域信息编辑页的联调 项目介绍 从0搭建后端的Springbo ...

  4. MyBatis Generator 代码自动生成器,从此解放你的双手

    前言 在日常开发工作中,我们往往需要自己去构建各种数据表所对应的持久化对象(PO).用于操作数据库的接口(DAO)以及跟 DAO 所绑定的对应 XML.这都是一些重复性的操作,不需要多大技术含量,这时 ...

  5. 推荐几个代码自动生成器

    文章目录 老的代码生成器的地址:[https://www.cnblogs.com/skyme/archive/2011/12/22/2297592.html](https://link.zhihu.c ...

  6. Serverless 实战 —— 快速搭建 SpringBoot 应用

    Serverless 实战 -- 快速搭建 SpringBoot 应用 前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务, ...

  7. 快速搭建Springboot项目的两种方式!!

    大家好,我是雄雄,欢迎关注微信公众号[雄雄的小课堂]. 前言 Springboot的特点就是简单.快速和方便,使用idea不到一分钟就可以快速搭建springboot项目,并且,在这里,你不用写spr ...

  8. 发布CodeBuild.Net代码自动生成器 V2008 2.01(Vs2008)和架构实例源码Demo

    CodeBuild.Net代码自动生成器 V2008 2.01(Vs2008) Microsoft Visual Studio 2008开发,需要安装运行库. 支持生成多标签切换等功能,方便代码生成, ...

  9. 快速搭建一个MyBatis项目

    快速搭建一个MyBatis项目 1.前期准备工作 数据库准备 创建数据库.创建数据表.添加数据表中的数据 # 创建一个数据库 CREATE DATABASE `mybatis`;# 切换数据库 USE ...

最新文章

  1. spring cloud gateway之服务注册与发现
  2. Flash Builder 4.7 类模板编辑设置
  3. 全球最小人工心脏在华中科大完成植入:58岁患者术后精神状态良好
  4. Java中将CST格式的时间字符串进行格式化
  5. 观察者模式及c++实现
  6. 读书笔记-互联网思维必读10本书之一《免费》
  7. Properties文件的XML格式
  8. 51Nod-1010 只包含因子2 3 5的数【打表+排序+二分搜索】
  9. J2EE中使用MediaInfo库获取视频信息
  10. 软件测试nextdata函数决策表,软件测试NextDate函数决策表测试法实验报告
  11. Linux桌面环境GNOME实用技巧
  12. verilog 之数字电路 边沿检测电路
  13. (哈工大)计算机网络体系结构——OSI、TCP/IP、5层模型
  14. Java多线程下载分析方法
  15. 声学概念解释——混响时间
  16. 有感于技术出身的创业若干思考
  17. 凡是过往,皆为序章,致敬2021,迎接2022!
  18. 如何使用windows自带远程桌面连接linux,使用Windows自带远程桌面应用连接CentOS8远程桌面...
  19. 3.5.CentOS7下安装配置Zookeeper集群与一键启动小脚本
  20. Android开发之旅:环境搭建及HelloWorld---吴秦(Tyler)

热门文章

  1. Android View学习笔记(三):Scroller的原理剖析及使用(上)
  2. 微信小程序开发 - 视图与逻辑
  3. CloudCompare使用说明
  4. 1972年图灵奖--埃德斯加·狄克斯特拉生平
  5. 静态代码检查-CheckStyle
  6. html标签中h4和h5,h5与h4的区别
  7. Homebrew - 安装与使用
  8. 【QGIS入门实战精品教程】4.8:QGIS如何下载SRTM数字高程模型DEM?
  9. 房企猪企扎堆转型做光伏,那什么是光伏?
  10. 云服务器、VPS、虚拟主机三者的区别(详细)