public static BasicDataSource newDataSource(String url, String username, String password) {
BasicDataSource newDataSource = new BasicDataSource();
newDataSource.setInitialSize(2);
newDataSource.setMaxActive(10);
newDataSource.setMaxIdle(2);
newDataSource.setMaxWait(500);
newDataSource.setValidationQuery("select 1 from dual");
//根据url提取出数据库类型
String[] strArray = url.trim().split(":");
String dbType = strArray[1];
if (dbType.equalsIgnoreCase("oracle")) {
newDataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
}
else if (dbType.equalsIgnoreCase("mysql")) {
newDataSource.setDriverClassName("com.mysql.jdbc.Driver");
}
newDataSource.setUrl(url);
newDataSource.setUsername(username);
newDataSource.setPassword(password);
return newDataSource;
}
参考文献:
1、使用Spring动态修改DataSource
http://gkbusy.iteye.com/blog/620135
2、java使用dbcp连接池实现jdbc动态新增,修改,删除,切换数据库源
http://3131854.blog.51cto.com/3121854/1735594