国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Spring數據庫多數據源路由配置過程圖解

瀏覽:23日期:2023-08-30 16:56:37

項目中需要根據不同業務進行分庫,首先是將業務不同業務映射到不同過的數據庫( biz --> db,可能存在多對一情況),

查看springjdbc源碼發現AbstractRoutingDataSource類作為一個數據源路由抽象類,可以擔當這個事情,其設計思想也比較簡單,

首先將多個數據源的映射關系自己維護完成后注入進來,然后自己定義一個路由規則,重點部分見代碼:

Spring數據庫多數據源路由配置過程圖解

首先可以看到該類是一個抽象類,重點關注變量targetDataSource和resolvedDataSources.

其中targetDataSource用于將用戶建立的映射關系注入進來,可以通過如下方法

Spring數據庫多數據源路由配置過程圖解

resolvedDataSources用于真正存儲依賴關系,targetDataSource僅僅是個中介,解析代碼見下圖

Spring數據庫多數據源路由配置過程圖解

核心路由方法:

Spring數據庫多數據源路由配置過程圖解

是不是很清楚,首先獲取數據源映射key,然后通過key獲取數據源

數據源映射獲取方法為抽象方法,見下圖:

Spring數據庫多數據源路由配置過程圖解

實現時需要注意線程安全,最佳實現時通過ThreadLocal將在dbsql執行前將key設置進去,以便后來獲取這個key,

調用入口:

Spring數據庫多數據源路由配置過程圖解

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 英超| 竹溪县| 杭州市| 马关县| 突泉县| 德庆县| 德清县| 长春市| 霸州市| 桂平市| 阜南县| 邵阳县| 鄂托克旗| 合川市| 文昌市| 阳高县| 永泰县| 简阳市| 河池市| 怀柔区| 南昌市| 搜索| 南靖县| 饶阳县| 麟游县| 揭东县| 沙河市| 沿河| 永寿县| 涿州市| 类乌齐县| 九龙县| 晋州市| 兴国县| 略阳县| 克拉玛依市| 武隆县| 蒙自县| 郸城县| 西林县| 宿迁市|