- 1th xml配置
<bean name="dataSource_jeecg" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">略<bean> <!-- 数据源汇合 --> <bean id="dataSource" class="org.jeecgframework.core.extend.datasource.DynamicDataSource"> <property name="targetDataSources"> <map key-type="java.lang.String"> <!----> <entry key="push" value-ref="dataSource_jeecg" /> <!----> <entry key="defau" value-ref="mapdataSource" /> </map> </property> <!--默认数据源--> <property name="defaultTargetDataSource" ref="dataSource_jeecg" /> </bean>
- 2th, java配置类
public class DynamicDataSourceGlobal { public static final String DATASOURCE_PUSH="defaut"; // 企业数据库 public static final String DATASOURCE_DEFAU="defaut02";// 海关数据库}-- 设置类public class DynamicDataSourceHolder { // 线程本地环境 @SuppressWarnings("rawtypes") private static final ThreadLocal contextHolder = new ThreadLocal(); // 设置数据源类型 @SuppressWarnings("unchecked") public static void setDataSourceType(String dataSourceType) { contextHolder.set(dataSourceType); } // 获取数据源类型 public static String getDataSourceType() { return (String) contextHolder.get(); } // 革除数据源类型 public static void clearDataSourceType() { contextHolder.remove(); }}
- 3th service 调用
DynamicDataSourceHolder.setDataSourceType(DynamicDataSourceGlobal.DATASOURCE_PUSH);jdbcTemplate.queryForList(sql);
具体的业务或则读写拆散应用