Spring(3.2.8) + Mybatis(1.2.5)動態數據源路由大致過程

1、怎麼配置配置省略了
注意:(1)配置切面攔截service 設置database標識就是你要使用哪個數據源)
(2)自定義數據源繼承org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource
2、我們在項目中用來讀寫分離
3、沿着這個類路徑看找到原理
(1)org.mybatis.spring.SqlSessionFactoryBean
默認使用spring提供的事務管理工廠在這裏插入圖片描述
(2)org.apache.ibatis.session.defaults.DefaultSqlSessionFactory
eg:在這裏插入圖片描述
在這裏插入圖片描述
final TransactionFactory transactionFactory = getTransactionFactoryFromEnvironment(environment);返回的是spring提供的事務管理工廠
(3)org.apache.ibatis.session.defaults.DefaultSqlSession
返回org.mybatis.spring.transaction.SpringManagedTransaction
(4)org.apache.ibatis.session.defaults.DefaultSqlSession
eg:在這裏插入圖片描述
(5)org.apache.ibatis.executor.SimpleExecutor
在這裏插入圖片描述
stmt = prepareStatement(handler, ms.getStatementLog());
在這裏插入圖片描述
在這裏插入圖片描述
(6)org.mybatis.spring.transaction.SpringManagedTransaction在這裏插入圖片描述
(7)org.springframework.jdbc.datasource.DataSourceUtils
這邊獲取到你傳遞的database,回調之後獲取你切面中設置的數據源在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章