首先,我向您展示代码,然后问了几个问题。我有这样的类数据库连接(如果有,请忽略语法错误)
class DatabaseConnection {
private static Connection connection = null;
private static String driverName="";
private static String userName="";
private static String passwrod="";
private static String url="";
private DatabaseConnection() { }
public static void createConnection() {
if ( connection == null ) {
// read database credentials from xml file and set values of driverName, userName, passowrd and url
//create connection with database and set store this connection in connection object created a class level.
}
}
public static void closeConnection1() throws Exception{
if ( connection != null ) {
connection.close();
connection == null
}
}
public static void closeConnection2() throws Exception{
if ( connection != null ) {
connection.close();
}
}
public void insertData(Object data) {
// insetData in database
}
}
我想知道哪个关闭连接在数据库连接中更优化。假设我有这样的测试课
class Test {
public static void main(String args[]) {
DatabaseConnection.createConnection();
DatabaseConnection.insertData(data);
DatabaseConnection.closeConnection2(); // we call also called close connection method within the insertData method after inserting the data
}
}
创建数据库连接后,我在数据库中插入数据,然后使用closeConnection2方法关闭连接。以这种方式连接已经关闭,所以如果我想插入更多方法,那么我必须重新创建与数据库的连接,但我不能这样做,因为连接对象不为空并且createConnection没有执行 if 语句中的代码. 现在,如果我调用closeConnection1方法来关闭连接,那么在执行此操作时,我必须再次解析xml文件以获得凭证,这不是优化解决方案。你能告诉我哪种方法好,如果两者都更糟,那么请告诉我创建和关闭数据库连接的更有效方法。