# 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. 执行生成代码命令 ![img.png](imgs/mybatis-plus-code-generate-img-1.png) 或者使用命令方式,打开命令控制台并进入到pom文件所在文件夹,再执行插件命令: `mvn mybatis-plus-code:generate` ![img.png](imgs/mybatis-plus-code-generate-img-2.png) ### 4、用idea打开生成的项目 ![img.png](imgs/mybatis-plus-code-generate-img-3.png) ### 5、修改你的数据库 其实这一步是不用配置的,默认会使用插件中配置的数据库信息。如果不是该数据库则需要修改。 打开src/main/resources/application-mp.yml文件,配置你的数据库信息 ![img.png](imgs/step5.png) ### 6、运行生成的项目 ![img.png](imgs/mybatis-plus-code-generate-img-4.png) ## 生成的项目介绍 使用本工具生成的项目特点: 主要技术框架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)