「案例DEMO」直接用maven插件生成springboot2.5.4+mybatis-plus3.5.3.2+hikari+swagger2 2.9.2項目并運行
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開關或者打印級別,更好的控制日志打?。?/li>
- 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



浙公網安備 33010602011771號