說起多資料源,一般都來解決那些問題呢,主從模式或者業務比較複雜需要連接配接不同的分庫來支援業務。我們項目是後者的模式,網上找了很多,大都是根據jpa來做多資料源解決方案,要不就是老的spring多資料源解決方案,還有的是利用aop動态切換,感覺有點小複雜,其實我隻是想找一個簡單的多資料支援而已,折騰了兩個小時整理出來,供大家參考。
廢話不多說直接上代碼吧
pom包就不貼了比較簡單該依賴的就依賴,主要是資料庫這邊的配置:
一個test1庫和一個test2庫,其中test1位主庫,在使用的過程中必須制定主庫,不然會報錯。
最關鍵的地方就是這塊了,一層一層注入,先建立datasource,在建立sqlsessionfactory在建立事務,最後包裝到sqlsessiontemplate中。其中需要制定分庫的mapper檔案位址,以及分庫到層代碼
這塊的注解就是指明了掃描dao層,并且給dao層注入指定的sqlsessiontemplate。所有<code>@bean</code>都需要按照命名指定正确。
dao層和xml需要按照庫來分在不同的目錄,比如:test1庫dao層在com.neo.mapper.test1包下,test2庫在com.neo.mapper.test1
xml層
測試可以使用springboottest,也可以放到controller中,這裡隻貼controller層的使用
作者:純潔的微笑
版權所有,歡迎保留原文連結進行轉載:)