- 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);
具体的业务或则读写分离使用
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。