1. 程式人生 > >全程解析,MyBatis在SpringBoot中的動態多資料來源配置

全程解析,MyBatis在SpringBoot中的動態多資料來源配置

在分庫的業務場景和跨資料庫例項獲取資訊之類的場景中,我們會遇到處理多個數據源訪問的問題,**通常情況下可以採用中介軟體**,如cobar, tddl, mycat等。 但取決於業務需求,有時我們需要直接通過MyBatis和SpringData來完成這個任務。即使沒有,**理解MyBatis多資料來源配置的過程也有助於理解其他分庫分表操作的原理**。 *背景依賴如下:* ```xml ``` 要進行多資料來源的配置,首先需要了解MyBatis是如何將XML中的Sql語句執行的,是哪些類提供了資料庫的連線,又是哪些類提供了配置引數。 ### 首先來看MyBatis的SQL執行過程: ![MyBatisSQL執行過程](https://images.cnblogs.com/cnblogs_com/ZoraZora59/1494531/o_2012070637382019062319433043-new%20(1).png) 不難看出,與資料來源相關的處理是在第4、5步中完成的。第四步獲取到的`SqlSessionFactory`為第五步的`SqlSession`提供了連線工廠,也就是說我們只需要對第四步進行處理,**替換掉原生的`DefaultSqlSessionFactory`即可**。 ### 接下來,在SpringBoot框架下,我們可以通過常用的`Fac