在日常开发过程中,我们可能会遇到同一个项目中需要用到多个数据库,那么我们应该在项目中怎样配置多个数据源呢?下面我基于spring+springMVC+maven框架简要介绍多数据源的配置方法以及使用过程中的注意点。
一、数据库配置文件中声明相应数据源
数据源1:
数据源2:
注意:不同数据源定义不同的driver、url、username及password名称,后面会用到;
二、修改spring-mybatis配置文件,对多个数据源进行配置
(1)分别设置两个数据源与数据库配置文件中的数据源进行对应,其中相应数据源的driverClassName、url等信息必须与数据库配置文件中的相应数据源一一对应,否则无法正常使用。
数据源一:
数据源二:
(2)配置数据源路由,进行多个数据源之间的切换,在这里我们需要设置一个默认数据源,当需要使用非默认数据源时进行手动切换,后面详细介绍。
通过以上两个配置完成对多个数据源及其切换在spring-mybatis配置文件的配置。
三、新建两个Java类,实现对数据源的手动切换
DataSourceContextHolder类:
对两个数据源进行定义与配置,注意名称必须与配置文件中两个数据源的bean id相同****;
MultipleRoutingDataSource类:
进行数据源路由配置;
通过以上三步,我们就完成了多数据源的所有配置,接下来就是实际使用过程中的运用了。
四、实际应用,多数据源使用与切换
当我们在实际开发过程中需要使用非默认数据源的时候,只需要在使用的相应方法中对需要使用的非默认数据源进行设置:
这样就将数据源切换到了我们配置的第二个数据源了:
当我们使用非默认数据源结束之后,我们需要将它清除,清除之后默认切换回我们的默认数据源:
通过以上四步,我们就完成了多数据源的配置与使用,在这个过程中,首先,我们一定要将多个数据源的配置与相应数据源一一对应起来,另外,在使用非默认数据源时,在使用完成之后,切记要进行清除,否则在后续操作过程中会因为数据源问题报错。