SpringBoot|SpringBoot +DynamicDataSource切换多数据源的全过程

目录

  • 固定多个数据源切换
    • 1.由于我这个版本的自带DynamicDataSource包
    • 2.在yml中配置两个数据源
    • 3.启动时启动连接池的方法获取
    • 4.载入各个连接池
    • 5.dynamicDataSource类中
    • 6.在切面中执行切换操作
刚开始用一个数据源,但是上头要求要做多数据源切换的。看了框架有自带的可以切数据源但是数据源是固定在YML文件的;

固定多个数据源切换
1.由于我这个版本的自带DynamicDataSource包
我就不引入了。
各位看官缺包自行去maven上查Dynamic-DataSource第一个就是了。
【SpringBoot|SpringBoot +DynamicDataSource切换多数据源的全过程】
2.在yml中配置两个数据源
SpringBoot|SpringBoot +DynamicDataSource切换多数据源的全过程
文章图片


3.启动时启动连接池的方法获取
在APPLICATION启动类中配置
SpringBoot|SpringBoot +DynamicDataSource切换多数据源的全过程
文章图片


4.载入各个连接池
将各个连接池载入dynamicDataSource类中其中dynamicDataSource(a,b)方法中的a代表默认连接池b是一个map里面存着连接池们,其中键值可以自己定义名称 我这里键值就是直接first,second了。
SpringBoot|SpringBoot +DynamicDataSource切换多数据源的全过程
文章图片


5.dynamicDataSource类中
SpringBoot|SpringBoot +DynamicDataSource切换多数据源的全过程
文章图片


6.在切面中执行切换操作
至于怎么进行添加切面就自行百度去了。由切面传进来的参数然后调用刚才说的那个setDataSource方法把串串传进去就可以了
SpringBoot|SpringBoot +DynamicDataSource切换多数据源的全过程
文章图片

然后固定切换就基本完成了。只要在调用的service前面加个@DataSource进入切面进行切换
SpringBoot|SpringBoot +DynamicDataSource切换多数据源的全过程
文章图片

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读