为什么需要多数据源切换
在正式的、较大的项目中,很少会只有一个数据库的,至少都会有一个主数据库和一个从数据库,从数据库作为数据备份以及数据读取,而主库作为数据写入;因此就产生了一个问题——如何在项目中做到数据源的切换,如何根据操作进行数据库主从的切换。
解决
在利用springboot集成mybatis的时候,mybatis的sessionFactory由springboot进行创建,而sessionFactory由依赖于数据库连接,因此,首先就是需要解决数据源的问题,这里,利用springboot的注入功能,去注入三个DataSource的bean——masterDataSource
、slaveDataSource
以及dynamicDataSource
,而dynamicDataSource
这个我们需要加上@Primary
注解,表明这个是优先注入的DataSource对象