# mybatis-plus代码生成
**Repository Path**: aning1024/mybatis-plus-code-maven-plugin
## Basic Information
- **Project Name**: mybatis-plus代码生成
- **Description**: 优化了之前的代码生成项目,并把项目构建为maven插件,便于使用。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2023-09-16
- **Last Updated**: 2025-07-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# mybatis-plus代码生成工具
本工具基于MyBatis-Plus的代码生成器, MyBatis-Plus官网:https://baomidou.com/ ,请尊重原作者作品。
本项目开发环境: windows10+openjdk17.0.2+maven3.6.3+IntelliJ IDEA 2024.1 (Community Edition)+mysql8.0.35
代码生成器自身版本:3.2.0,为什么不用新版(3.5.6)?其实新版的在代码生成上做了很大的优化,使用更加方便了,有兴趣的同学可以尝试官方新版。我不用新版主要是我这个项目原来就是基于3.2.0版本修改的,主要修改了模板的内容,我使用了官方的新版发现生成的代码不是很符合我的风格,所以才自己修改了模板并增加了一些其他配置,使得生成的代码项目可以直接运行,虽然插件是3.2.0的版本,但是生成的项目代码是新版的,正如我下面所说。
主要的依赖如下:
```xml
com.baomidou
mybatis-plus-generator
3.2.0
mysql
mysql-connector-java
8.0.28
runtime
org.freemarker
freemarker
2.3.28
```
## 使用教程
### 1. 拉取本项目
`git clone -b springboot3.2.2+mybatisplus3.5.6+knife4j git@gitee.com:javalaoniu/mybatis-plus-code-maven-plugin.git`
### 2. 执行安装命令
`mvn clean install`
把该项目(执行命令后会安装为maven插件)部署到本地maven库,后面就可以在其他项目中引用该插件,引用该插件,打开你的项目的pom.xml文件,添加如下内容,然后修改相应的配置参数
```xml
io.gitee.javalaoniu
mybatis-plus-code-maven-plugin
0.0.1-SNAPSHOT
4
、
D:\Workspace\mympdemo
demotest
true
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&tinyInt1isBit=false
root
root123456
t_
t_sys_role,t_sys_user
com.baidu
entity
mapper
service
service.impl
controller
mapper
```
### 3. 执行生成代码命令

或者使用命令方式,打开命令控制台并进入到pom文件所在文件夹,再执行插件命令:
`mvn mybatis-plus-code:generate`

### 4、用idea打开生成的项目

### 5、修改你的数据库
其实这一步是不用配置的,默认会使用插件中配置的数据库信息。如果不是该数据库则需要修改。
打开src/main/resources/application-mp.yml文件,配置你的数据库信息

### 6、运行生成的项目

## 生成的项目介绍
使用本工具生成的项目特点:
主要技术框架springboot3.2.2+mybatis-plus3.5.6+swagger3(knife4j),实现数据库单表增删改查功能,并实现批量插入更新删除功能,项目的功能和配置都是实践出的最佳配置,生成的代码即可直接运行使用。
> 想生成的代码为springboot2.5.4+mybatis-plus3.5.3.2+hikari+swagger2 2.9.2技术组合,可以拉另外一个分支(springboot2.5.4+mybatis-plus3.5.3.2+swagger2.9.2)
主要依赖的maven包:
```xml
3.2.2
3.5.6
4.5.0
org.springframework.boot
spring-boot-dependencies
${spring-boot.version}
pom
import
com.baomidou
mybatis-plus-spring-boot3-starter
${mybatis-plus.version}
com.github.xiaoymin
knife4j-openapi3-jakarta-spring-boot-starter
${knife4j.version}
```
### 目录说明
- AppApplication为项目启动入口类
- aop文件夹存放切面相关配置;
- config文件夹存放项目配置类,主要包含MybatisPlusConfig配置类,旧项目可以不用拷贝该文件夹及文件;
- consts文件夹存放常量定义的类和枚举类;
- exception文件夹存放自定义异常类;
- controller文件夹存放项目控制器类,对应表的增删改查、批量操作等接口;
- service文件夹存放业务接口类;
- service.impl文件夹存放service的实现类,类中部分字段如果表中没有需要自己手动修改;
- mapper文件夹存放dao数据操作类,主要是myabtis的接口类文件,实现由mybatis生成;
- entity文件夹存放实体类,po对应数据库表字段、vo对应前端(model)、dto为数据传输对象(DTO类,多用于处理po和vo之间的关系,大致有时候也可以和vo相同。PO接收数据库的数据,然后转成DTO,DTO再转成VO(有时候为了偷懒,直接把DTO当成VO就不再转一层直接返回给前端)。在我的项目中没有使用dto对象,直接使用了vo对象和po进行转换,很多时候并不会区分那么多,不需要在意这个);
- utils文件夹存放工具类;
- resources中的mapper存放mybatis对应的xml文件;
- resources中的application.yml项目配置文件(最先加载);
- resources中的application-mp.yml是mybatis配置文件;
- resources中的logback-spring.xml是日志配置文件;
- 生成项目名首字母的ico图片,存放在resources/static/favicon.ico,请自行修改为自己的;
- imgs文件存放readme文档的图片;
**其他特点**:
1. hikari为springboot推荐的数据库连接池,据说性能还可以,springboot默认使用的就是这个;
2. json格式化主要使用jackson框架,并处理时间返回格式问题,该框架也是springboot推荐,个人不喜欢fastjson、gson;
多环境配置;
3. 统一异常捕获;
4. 统一返回对象;
5. 日志打印根据spring.profiles.active: xxx配置自动使用相应的日志打印,并且配合在各环境文件中配置logging开关或者打印级别,更好的控制日志打印;
6. wagger3 api文档,使用knife4j-openapi3-jakarta-spring-boot-starter版本,简化配置并美化页面效果,可以直接根据配置是否生效,并且有多一套美化皮肤,可以看原始swagger文档也可以看美化后的文档;
访问地址:
- swagger 原始皮肤访问地址:http://127.0.0.1:8080/swagger-ui.html
- swagger 优化皮肤访问地址:http://127.0.0.1:8080/doc.html
## demo
[mybatis-code-maven-plugin-demo](https://gitee.com/javalaoniu/mybatis-code-maven-plugin-demo)