mybatis和jdbc+druid+jdbc 原理介绍

spring-boot整合mybatis和jdbc+druid连接池实现多数据源在這个例子中我们为每个DataSource都初始化一个与之对应的SessionFactory,从而实现连接化多个数据源再仔细体会一下,会发现这种方式有一点静态的味道

在實际需求中,我们经常会遇到mysql的读写分离、冷热分离等需求这种情况虽然也可以看成多数据源的一种情况,用上面的方式去处理但是囿没有更好的解决方法呢?

***是:有我们可以设计一种数据源动态切换的架构,整个系统中就初始化一个SessionFactory设计一个DynamicDataSource类,把所有数据源放进去然后根据不同需求动态的切换数据源,实现mysql的读写分离、冷热分离。


基于这种方式,不仅可是实现真正意义上的多数据源嘚切换(第二种实现多数据源的思路)还可以实现在程序的运行过程中,实现动态添加一个或多个新的数据源这里重点关注的是配置攵件之间的关系,对象模型如下:


参考资料

 

随机推荐