java 设置多个数据源

获取配置的数据源
for(IDataSourceCfgVO sourceCfgVO:allDataSourceList){
			if(!dataSourceMap.containsKey(sourceCfgVO.getCfgCode())){
				/*
				DriverManagerDataSource dataSource = new DriverManagerDataSource();
				dataSource.setDriverClassName(sourceCfgVO.getDriverClass());
				dataSource.setPassword(sourceCfgVO.getPasswd());
				dataSource.setUrl(sourceCfgVO.getJdbcUrl());
				dataSource.setUsername(sourceCfgVO.getUserName());
				dataSourceMap.put(sourceCfgVO.getCfgCode(), dataSource);*/
				BasicDataSource dataSource = new BasicDataSource();
				dataSource.setDriverClassName(sourceCfgVO.getDriverClass());
				dataSource.setMaxActive(sourceCfgVO.getMaxActive());
				dataSource.setMaxIdle(sourceCfgVO.getMaxIdle());
				dataSource.setMaxWait(sourceCfgVO.getMaxWait());
				dataSource.setPassword(sourceCfgVO.getPasswd());
				dataSource.setUrl(sourceCfgVO.getJdbcUrl());
				dataSource.setUsername(sourceCfgVO.getUserName());
				dataSource.setInitialSize(sourceCfgVO.getInitialSize());
				dataSource.setPoolPreparedStatements(true);
				dataSourceMap.put(sourceCfgVO.getCfgCode(), dataSource);
			}
			allDataSourceCfgMap.put(sourceCfgVO.getCfgCode(), sourceCfgVO);
		}


使用数据源
JdbcTemplate newJdbcTemplate = getJdbcTemplate(dataSource);
			return newJdbcTemplate.queryForList(sqlStr);

数据源VO
	private java.lang.String id;

	// fields
	private java.lang.String cfgCode;
	private java.lang.String cfgName;
	private java.lang.String driverClass;
	private java.lang.String jdbcUrl;
	private java.lang.String userName;
	private java.lang.String passwd;
	private java.lang.String remark;
	//最大激活链接数
	private java.lang.Integer maxActive;
	private java.lang.Integer maxIdle;
	private java.lang.Integer maxWait;
	private java.lang.Integer initialSize;



猜你喜欢

转载自forlan.iteye.com/blog/2384836