最近因为要对一套现有的数据查询系统实现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
这样一来,编码工作便已经完成,在需要切换数据源的业务层进行调用即可。
领取专属 10元无门槛券
私享最新 技术干货