ssm, 多数据源

  • 1th xml配置



    
    
        
            
                
                
                
                
            
        
        
        
    
  • 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);

具体的业务或则读写分离使用

你可能感兴趣的:(ssm多数据源)