咱們最先作新項目的時候一直想作數據庫的讀寫分離與主從同步,因爲一些緣由一直沒有去作這個事情,此次咱們須要配置雙數據源的原由是由於咱們作了一個新項目用了另外一個數據庫,須要把這個數據庫的數據顯示到原來的後來上。讀寫分離本質其實就是寫入主庫,讀從庫,就是多數據源的切換,有不少中間件能幫咱們完成也有本身實現,大部分作法都是經過aop實現的,再進行service操做的前就把數據源切換了。實現思路都大體相同,具體使用就是仁者見仁智者見智了。前端
第一步:設置數據源,在原來的配置文件加上新的數據源spring
第二步:修改mybatis配置sqlSessionFactorysql
第三步:修改事務transactionManager數據庫
第四步:配置dateSource引用springboot
第五步:定義一個數據源切換類mybatis
最後一步使用:根據現有業務決定定義註解方式標註哪些類或方法須要使用新數據源,經過攔截器方式攔截全部請求mvc
定義註解post
配置鏈接器spa
建立攔截器實現數據源切換(省略postHandle方法)3d
而後再須要使用的類或者方法加上@TestDataSource("testDataSource")就能夠切換數據源了。使用有不少方式,文章介紹的只是我如今業務用到的,最終都是使用切換類來切換數據庫dateSource。前端時間一直很忙,沒有閒下來去學一些東西,忙新項目的過程當中也遇到一些我沒見到過的問題,我會寫下來分享出來。這篇文章只介紹了springmvc中使用,在springboot中也時同樣的,也能夠經過註解的方式來實現。