mybatis-plus-code-maven-plugin-demo
该项目演示如何使用mybatis-plus-code-maven-plugin插件生成项目
demo: https://gitee.com/javalaoniu/mybatis-code-maven-plugin-demo
插件: https://gitee.com/javalaoniu/mybatis-plus-code-maven-plugin
生成的项目介绍
项目特点:
- 单表增删改查功能,并实现批量插入更新删除功能;
- 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
- mybatis-plus springboot2 springboot 插件 swagger2mybatis-plus springboot2 springboot插件 springboot swagger2 swagger springboot swagger2 swagger问题 springboot2 springboot2 springboot springboot2 springboot swagger3 swagger springboot2 springboot mybatis springboot2 springboot lettuce redis springboot2 springboot spring3 spring springboot hibernate swagger2 swagger