1、首先配置两个数据库
2、再配置一个dataSource 管理 key 值和value值对应,默认选择dataSourceA ,其他配置按照正常的spring mvc 配置即可。
<!-- 通过key-value的形式来关联数据源 -->
3、sessionFactory 中使用 dataSource做数据源。
4、新建一个DynamicDataSource类继承AbstractRoutingDataSource。
public class DynamicDataSource extends AbstractRoutingDataSource{
public static final String DATA_SOURCE_A = "dataSourceA";
public static final String DATA_SOURCE_B = "dataSourceB";
private static final ThreadLocal contextHolder = new ThreadLocal();
public static void setCustomerType(String customerType) {
contextHolder.set(customerType);
}
public static String getCustomerType() {
return contextHolder.get();
}
public static void clearCustomerType() {
contextHolder.remove();
}
@Override
protected Object determineCurrentLookupKey() {
return getCustomerType();
}
}
5、切换数据源,这一步必须在进入业务层之前切换。
DynamicDataSource.setCustomerType(DynamicDataSource.DATA_SOURCE_A);
作者:李果
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30047842/viewspace-1409049/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30047842/viewspace-1409049/