Spring、Mybatis下实现多数据源

最近因为要对一套现有的数据查询系统实现B/S架构,但是查询系统的数据库是不可控,所以只能在其他数据库搭建基础平台的环境。这样一来基础平台和数据查询的数据库处在两个服务器中,那么就要实现多数据源,来调用不同的数据库实现查询或者其他操作。

我的项目架构是Spring、SpringMvc、Mybatis、数据池是Druid,接下来就开始实现多数据源的配置。

#1 数据库配置xml。

1、这里是通用,所以剥离出来。

2、配置具体的数据链接,其中parent对应的就是上面的id“parentDataSource”,意思是引用上面的内容。

3、利用Spring的AOP实现动态切换数据源。

#2 开始写代码

1、创建包,共有四个类。

2、实现自定义注解 DataSource及静态变量类DataSourceConts。

3、实现动态数据源管理类DynamicDataSource并继承AbstractRoutingDataSource这是Spring用来管理切换数据源。

4、实现自定义注解的拦截类DynamicDataSourceInterceptor

这样一来,编码工作便已经完成,在需要切换数据源的业务层进行调用即可。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20190114G0WDPO00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券