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,回调之后获取你切面中设置的数据源在这里插入图片描述

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