我有Connection类的代码,它只从一个数据库获得连接。看看下面的DBConnection.java从java应用程序创建到2个数据库的连接
package eksim.db.sql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConnection {
public Connection conn=null;
private static DBConnection dbConn=null;
static final String DB_URL=
"jdbc:sqlserver://10.0.0.47\\test;databaseName=a;";
static final String DB_USER="sa";
static final String DB_PASS="123";
public DBConnection(){
if(conn==null){
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
conn=DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);
}
catch(Exception ex){
ex.printStackTrace();
}
}
}
public static DBConnection getInstance(){
DBConnection conn=null;
if(dbConn==null){
System.out.println("New");
dbConn=new DBConnection();
conn=dbConn;
} else{
conn=dbConn;
}
return conn;
}
public Connection getCon() throws SQLException{
return this.conn;
}
}
现在,我想创建另一个连接到不同的数据库。任何人都可以给我建议修改此代码,以获得连接到2数据库的结果?谢谢任何回复
认为这是最好的,如果你有'ConcurrentHashMap'而不是'HashMap',它更好,同时使用几乎所有的线程:) –
@AnanthaSharma它当然是一个有效的点,但两个实例方法是'synchronized' – MadProgrammer