快速搭建springboot+mybatis-plus代码自动生成器的后端框架
利用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代码自动生成器的后端框架相关推荐
- spring boot:从零开始搭建一个项目 - day 5 Mybatis plus代码自动生成器
spring boot:从零开始搭建一个项目 - day 5 Mybatis plus代码自动生成器 一.Mybatis plus代码自动生成器 1.引入配置 2.创建Controller 3.执行m ...
- Mybatis Plus 代码自动生成器常用配置参考(详细解读)
Mybatis Plus 代码自动生成器常用配置 代码自动生成器常用配置 基础配置 代码自动生成配置(详) 1.常量 2.主方法用于运行生成代码 3.代码生成方法 4.各项配置详解 代码自动生成器常用 ...
- 从零开始快速搭建SpringBoot+Mybatis+小程序应用--微信小程序的入门和前后端的联调
目录 项目介绍 vx小程序简介 VX开发工具介绍 列表页开发 list的编写 列表页前后端联调 信息编辑页开发 operation的编写 区域信息编辑页的联调 项目介绍 从0搭建后端的Springbo ...
- MyBatis Generator 代码自动生成器,从此解放你的双手
前言 在日常开发工作中,我们往往需要自己去构建各种数据表所对应的持久化对象(PO).用于操作数据库的接口(DAO)以及跟 DAO 所绑定的对应 XML.这都是一些重复性的操作,不需要多大技术含量,这时 ...
- 推荐几个代码自动生成器
文章目录 老的代码生成器的地址:[https://www.cnblogs.com/skyme/archive/2011/12/22/2297592.html](https://link.zhihu.c ...
- Serverless 实战 —— 快速搭建 SpringBoot 应用
Serverless 实战 -- 快速搭建 SpringBoot 应用 前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务, ...
- 快速搭建Springboot项目的两种方式!!
大家好,我是雄雄,欢迎关注微信公众号[雄雄的小课堂]. 前言 Springboot的特点就是简单.快速和方便,使用idea不到一分钟就可以快速搭建springboot项目,并且,在这里,你不用写spr ...
- 发布CodeBuild.Net代码自动生成器 V2008 2.01(Vs2008)和架构实例源码Demo
CodeBuild.Net代码自动生成器 V2008 2.01(Vs2008) Microsoft Visual Studio 2008开发,需要安装运行库. 支持生成多标签切换等功能,方便代码生成, ...
- 快速搭建一个MyBatis项目
快速搭建一个MyBatis项目 1.前期准备工作 数据库准备 创建数据库.创建数据表.添加数据表中的数据 # 创建一个数据库 CREATE DATABASE `mybatis`;# 切换数据库 USE ...
最新文章
- spring cloud gateway之服务注册与发现
- Flash Builder 4.7 类模板编辑设置
- 全球最小人工心脏在华中科大完成植入:58岁患者术后精神状态良好
- Java中将CST格式的时间字符串进行格式化
- 观察者模式及c++实现
- 读书笔记-互联网思维必读10本书之一《免费》
- Properties文件的XML格式
- 51Nod-1010 只包含因子2 3 5的数【打表+排序+二分搜索】
- J2EE中使用MediaInfo库获取视频信息
- 软件测试nextdata函数决策表,软件测试NextDate函数决策表测试法实验报告
- Linux桌面环境GNOME实用技巧
- verilog 之数字电路 边沿检测电路
- (哈工大)计算机网络体系结构——OSI、TCP/IP、5层模型
- Java多线程下载分析方法
- 声学概念解释——混响时间
- 有感于技术出身的创业若干思考
- 凡是过往,皆为序章,致敬2021,迎接2022!
- 如何使用windows自带远程桌面连接linux,使用Windows自带远程桌面应用连接CentOS8远程桌面...
- 3.5.CentOS7下安装配置Zookeeper集群与一键启动小脚本
- Android开发之旅:环境搭建及HelloWorld---吴秦(Tyler)