1. 继承抽象路由数据源对象,AbstractRoutingDataSource,实现里面的determineCurrentLookupKey方法。
package com.caiwufei.common.db;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
public class DynamicDataSource extends AbstractRoutingDataSource{
@Override
protected Object determineCurrentLookupKey() {
return DBContextHolder.getTargetDataSource();
}
}
2.配置数据源,配置两个或是多个数据库连接词,并且把连接池配置进入动态数据源
<!-- 配置多个数据库,一个mysql,一个oracle -->
<bean id="mysql" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="url" value="${mysql.jdbc.url}" />