手把手教你利用 SpringBoot + Mybatis 實現一個讀寫分庫專案

業餘草發表於2019-04-12

點選上方“業餘草”,選擇“置頂公眾號”

第一時間獲取技術乾貨和業界資訊!

640?wx_fmt=png

640?wx_fmt=png

前一段時間,我發了一篇關於 Spring 腦圖的學習知識體系,包括原理,原始碼解析,結合設計模式等。沒想到非常的火爆,微信通訊錄裡一下子多了很多好友。我預計在今年 5 月份左右通訊錄會達到 5000 人的上限。目的還是希望大家相互交流,共同進步,相互鼓勵! 

在網際網路技術飛速發展的今天,各種技術已經非常成熟,尤其是像讀寫分離這樣的架構,以及這樣的專案顯得非常的常見。那麼今天我就和大家一起來,手把手的教大家利用 SpringBoot + Mybatis 實現一個讀寫分庫的 demo 專案。 

640?wx_fmt=png

首先,我們這個專案要使用 SpringBoot,因為 SpringBoot 是現階段最火的框架之一了;第二,我們要使用 Mybatis;第三,我們還要使用自定義註解。 

下面我介紹幾個主要的類實現,需要原始碼的可以加我微訊號:xmtxtt 為好友,我免費發給大家! 

先建立一個 DataSources 資料來源介面。比如,我們假設是一主一從。 

640?wx_fmt=png

第二步,建立一個切換資料來源的 RoutingDataSource 註解類。

640?wx_fmt=png

註解的使用我就不在過多的解釋了,就當大家都會吧,如果不會加群交流,好了。

第三步,在 application.yml 中配置多個資料來源。

640?wx_fmt=png

第四步,配置多個 Datasource。

640?wx_fmt=png

第五步,定義一個 DataSourceHolder,切換資料來源。

640?wx_fmt=png

第六步,定義一個動態資料來源。

640?wx_fmt=png

第七步,Mybatis 整合動態資料來源。

640?wx_fmt=png

第八步,也是最重要的一步,攔截所有有 @RoutingDataSource 註解的方法。動態的給它指定資料來源。

640?wx_fmt=png

第九步,要取消自動配置資料來源,不要讓 SpringBoot 自動的使用 DataSourceAutoConfiguration 了。

640?wx_fmt=png

最後就是如何使用了,插入我們使用主庫,查詢我們使用從庫。

640?wx_fmt=png

以上原始碼,需要的可以加我微訊號:xmtxtt 為好友,我免費發給大家!現在讀寫分離的專案非常的常見,面試也可能會被問答。我這裡只是建了一個非常簡單的讀寫分離專案。



640?wx_fmt=png

10T技術資源大放送!包括但不限於:C/C++,Linux,Python,Java,PHP,人工智慧,GO等等。在公眾號內回覆對應關鍵字或框架名字,即可免費獲取!!

640?wx_fmt=png

 你再主動一點點 640?  我們就有故事了


相關文章