Spring boot集成Mybatis的方法教程
本章目標(biāo)
- 整合 Mybatis ,并集成 Druid 數(shù)據(jù)源
- 可視化監(jiān)控 Druid 數(shù)據(jù)源
- 使用 JPA 生成數(shù)據(jù)表
- 利用注解實(shí)現(xiàn)數(shù)據(jù)庫(kù)的事物
- 利用注解動(dòng)態(tài)配置數(shù)據(jù)源
- 全局異常捕獲
- 校驗(yàn)請(qǐng)求參數(shù),并將錯(cuò)誤信息以JSON 格式返回
- 完成了對(duì) Dao Service Mapper 的封裝
- 集成 log4j2
為何 Mybatis
為何選擇 Mybatis,最主要的原因大概有以下幾點(diǎn)
- 它的動(dòng)態(tài)綁定用起來(lái)特別爽
- 基本上是在寫(xiě)原生的 SQL 語(yǔ)句,看著也是很舒服,如果 SQL 寫(xiě)得好的話,后期維護(hù)什么的一眼就能看得明白。
- 個(gè)人工作所在的公司用的都是 Mybatis ,所以比較順手
項(xiàng)目啟動(dòng)方法
- 直接運(yùn)行 web 下的 Application 方法
- 使用 Maven 打包 mvn clean install package ,然后進(jìn)入 web 項(xiàng)目?jī)?nèi),執(zhí)行
java -jar target/web-1.0-SNAPSHOT-exec.jar
部分效果預(yù)覽
項(xiàng)目結(jié)構(gòu)圖

驗(yàn)證請(qǐng)求參數(shù)

參數(shù)驗(yàn)證成功

Druid 數(shù)據(jù)源監(jiān)控


特別說(shuō)明
1、本文的 Druid 監(jiān)控部分配置參考文章 Spring Boot 使用 Druid 和監(jiān)控配置
Druid 的更多資料請(qǐng)參考 Druid 官方中文 Wiki
2、多數(shù)據(jù)源的實(shí)現(xiàn)方式借鑒了 Spring Boot多數(shù)據(jù)源配置與使用,和博主不同的是,這里我使用了注解方式實(shí)現(xiàn)。
3、在實(shí)現(xiàn)該 demo 的過(guò)程中,踩了非常多的坑,最大的就是項(xiàng)目打成 Jar 包后,獲取不到 xml 等資源文件,上網(wǎng)搜索了很多資料,最后通過(guò) SpringBootVFS 的方式解決該問(wèn)題。
4、注意如果你的啟動(dòng)類(lèi)需要在其他文件的上層,如果不是,那么啟動(dòng)類(lèi)需要手動(dòng)添加掃描文件。
5、其中一些工具類(lèi)用的是原先代碼中的,直接搬過(guò)去就是了。
6、要開(kāi)啟 JPA 注解生成數(shù)據(jù)表的話,需要將 Model 類(lèi)中的 @Entity 注解開(kāi)啟
7、如果不需要 log4j2 的,可以把 application.yml 對(duì)應(yīng)的配置刪除
由于本章的代碼較多,配置也比較繁瑣,所以這里就不一一解釋了,代碼中有比較清晰的注釋。
另外對(duì)于本章的代碼,另外開(kāi)了個(gè) Repository ,同樣大家可以通過(guò)本地進(jìn)行下載學(xué)習(xí)。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Java處理時(shí)間格式CST和GMT轉(zhuǎn)換方法示例
這篇文章主要給大家介紹了關(guān)于Java處理時(shí)間格式CST和GMT轉(zhuǎn)換方法的相關(guān)資料,相信很多小伙伴在時(shí)間格式轉(zhuǎn)換的時(shí)候非常頭疼,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
Springboot2.x+Quartz分布式集群的實(shí)現(xiàn)
這篇文章主要介紹了Springboot2.x+Quartz分布式集群的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
淺談JAVA字符串匹配算法indexOf函數(shù)的實(shí)現(xiàn)方法
這篇文章主要介紹了淺談字符串匹配算法indexOf函數(shù)的實(shí)現(xiàn)方法,indexOf函數(shù)我們可以查找一個(gè)字符串(模式串)是否在另一個(gè)字符串(主串)出現(xiàn)過(guò)。對(duì)此感興趣的可以來(lái)了解一下2020-07-07
IDEA編譯時(shí)報(bào)常量字符串過(guò)長(zhǎng)的解決辦法
本文主要介紹了IDEA編譯時(shí)報(bào)常量字符串過(guò)長(zhǎng)的解決辦法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
kafka springBoot配置的實(shí)現(xiàn)
本文主要介紹了kafka springBoot配置的實(shí)現(xiàn),通過(guò)詳細(xì)解析Spring Boot for Apache Kafka的配置選項(xiàng),以及如何優(yōu)化Kafka生產(chǎn)者和消費(fèi)者的屬性設(shè)置,感興趣的可以了解一下2023-11-11
Java實(shí)現(xiàn)動(dòng)態(tài)代理的實(shí)例代碼
代理模式是常用的java設(shè)計(jì)模式,他的特征是代理類(lèi)與委托類(lèi)有同樣的接口,代理類(lèi)主要負(fù)責(zé)為委托類(lèi)預(yù)處理消息、過(guò)濾消息、把消息轉(zhuǎn)發(fā)給委托類(lèi),以及事后處理消息等,這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)動(dòng)態(tài)代理的相關(guān)資料,需要的朋友可以參考下2021-09-09

