1、怎么配置配置省略了
注意:(1)配置切面拦截service 设置database标识就是你要使用哪个数据源 前提是配置好AbstractRoutingDataSource)
(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.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,回调之后获取你切面中设置的数据源(这个数据源为你继承自AbstractRoutingDataSource的数据源)
Spring(3.2.8) + Mybatis(1.2.5)动态数据源路由大致过程
最新推荐文章于 2022-05-07 20:53:00 发布
