网站首页 > 技术文章 正文
mybatis-plus-code-maven-plugin-demo
该项目演示如何使用mybatis-plus-code-maven-plugin插件生成项目,直接用maven插件生成springboot2.5.4+mybatis-plus3.5.3.2+hikari+swagger2 2.9.2项目并运行,先给出码云地址,欢迎star
demo: mybatis-plus代码生成使用demo: mybatis-code-maven-plugin的使用demo
插件: mybatis-plus代码生成: 优化了之前的代码生成项目,并把项目构建为maven插件,便于使用。
生成的项目介绍
项目特点:
- 单表增删改查功能,并实现批量插入更新删除功能;
- hikari为springboot推荐的数据库连接池,据说性能还可以;
- json格式化主要使用jackson框架,并处理时间返回格式问题,该框架也是springboot推荐,个人不喜欢fastjson、gson;
- 多环境配置;
- slf4j1.7.26+logback1.2.3,并添加xxx-over-slf4j包,把其他日志转化到slf4j;
- 统一异常捕获;
- 统一返回对象;
- 日志打印根据spring.profiles.active: xxx配置自动使用相应的日志打印,并且配合在各环境文件中配置logging开关或者打印级别,更好的控制日志打印;
- swagger2 api文档,可以直接根据配置是否生效,并且有多一套美化皮肤;
项目说明
- AppApplication为项目启动入口类
- config文件夹存放项目配置类,主要包含MybatisPlusConfig、SwaggerConfig配置类,旧项目可以不用拷贝该文件夹及文件;
- 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是日志配置文件
复制说明
正常情况下,当作新项目可以整个代码当作新项目用; 如果已有项目的情况,必须复制的有resources中的mapper、mapper、entity三个文件夹中的文件,这是mybatis最基本的,直接拷贝这些文件到已有项目即可直接使用,避免手写错误问题,当然得是已有项目本身是整合好mybatis的, 其他的工具类、controller、service等自己看着办就好了。
具体步骤
看了上面的介绍之后相信你大概了解了生成的项目,你是不是也想可以一键生成自己的项目呢?这里就演示如何生成这个项目和运行项目,然后访问项目api。这样可以节省每次创建项目、配置项目、整合框架的时间。
1. 创建项目
可以用idea创建项目的方式,也可以手动创建mybatis-code-maven-plugin-demo文件夹,在文件夹中新建pom.xml文件,文件所有内容如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>mybatis-code-maven-plugin-demo</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>mybatis-code-maven-plugin-demo</name>
</project>
用idea打开项目,项目结构如下,pom.xml文件外的其他文件是项目的常规文件,也可以忽略
2. 配置插件
打开怕pom.xml文件,添加mybatis-plus-code-maven-plugin插件,并修改相应的配置(项目保存路径、模块名称、mysql库配置、包名等)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>mybatis-code-maven-plugin-demo</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>mybatis-code-maven-plugin-demo</name>
<build>
<finalName>mybatis-code-maven-plugin-demo</finalName>
<plugins>
<plugin>
<groupId>io.gitee.javalaoniu</groupId>
<artifactId>mybatis-plus-code-maven-plugin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<configuration>
<!--生成代码保存路径,默认保存在项目目录的target目录下-->
<savePath>D:\Workspace\ideaIC-2023.1.win.Project\mybatis-code-maven-plugin-demo</savePath>
<!--项目(模块)名,也是包名的一部分(com.example.demotest)-->
<moduleName>mydemo1</moduleName>
<!--每次生成的文件覆盖已有文件,谨慎使用-->
<fileOverride>false</fileOverride>
<dbSetting>
<url>jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&tinyInt1isBit=false</url>
<username>root</username>
<pwd>root123456</pwd>
<!--表面的前缀,不填可以留空-->
<tablePrefix>t_</tablePrefix>
<tables>t_sys_role,t_sys_user</tables>
</dbSetting>
<!--
controller、service、mapper、entity包名(文件夹)设置,这些类最终包名(groupPackage+moduleName+自己),下面设置和默认设置一样
xml为mybatis的xml文件存放文件夹(默认放在resources下)
-->
<packageSetting>
<!--生成代码Java类包名的前部分-->
<parent>com.example</parent>
<entity>entity</entity>
<mapper>mapper</mapper>
<service>service</service>
<serviceImpl>service.impl</serviceImpl>
<controller>controller</controller>
<xml>mapper</xml>
</packageSetting>
<!--
策略配置,一般不用配置,除非很特殊,必须要配置
entitySuperClass: 自己的实体类的父类全路径,实体类po会直接继承改类,一般不设置;
controllerSuperClass: 自己的controller类的父类全路径,controller类会直接继承该类,一般不设置
-->
<!--
<strategySetting>
<entitySuperClass>aa.MyEntityParent</entitySuperClass>
<controllerSuperClass>aa.MyControllerParent</controllerSuperClass>
</strategySetting>
-->
</configuration>
</plugin>
</plugins>
</build>
</project>
3. 生成项目
添加mybatis-plus-code-maven-plugin插件后,刷新一下工程,确保项目已经把mybatis-plus-code-maven-plugin插件引入到项目中,打开idea的maven工具栏
双击插件,我这里配置的项目生成路径就是当前项目下,所以双击命令后生成的代码如下:
4. 添加模块
5. 运行生成的项目
6. 访问api
demo: mybatis-plus代码生成使用demo: mybatis-code-maven-plugin的使用demo
- 上一篇: Maven聚合与继承深入解析
- 下一篇: 一种用于JSON数据的查询语言JSONPath
猜你喜欢
- 2025-01-09 精通Spring Boot 3 : 13. Spring Cloud 与 Spring Boot (4)
- 2025-01-09 Spring Boot集成Redis Search快速入门Demo
- 2025-01-09 Spring Boot 3.x嵌入MongoDB 进行测试
- 2025-01-09 java安全之fastjson链分析
- 2025-01-09 MyBatis初级实战之五:一对一关联查询
- 2025-01-09 精通Spring Boot 3 : 8. Spring Boot 测试 (2)
- 2025-01-09 DevSecOps 管道: 使用Jenkins实现安全的多语言应用程序
- 2025-01-09 Liquibase+Spring+Maven: 管理数据库轻松搞定
- 2025-01-09 比较一下JSON与XML两种数据格式?
- 2025-01-09 Java批量导入时,如何去除重复数据并返回结果?
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)