2
到目前爲止,所有我見過的JDBC代碼創建和每次關閉連接。然而,我想知道如果這是必要的,因爲我的代碼似乎工作得很好,我每次都重複使用相同的連接:你應該總是關閉連接嗎?
這是一個不好的方法嗎?
public static int getCount() {
synchronized (DATABASE_ACCESS_LOCK) {
try (ResultSet rs = QUERY.executeQuery("SELECT COUNT(1) FROM " + TABLE_CLIENTS)) {
return rs.getInt(1);
} catch (SQLException ex) {
ex.printStackTrace();
return -1;
}
}
}
當你說昂貴的資源,你到底是什麼意思? – rtheunissen
@偏執 - 機器人確切說,他們佔用內存,並且可以佔用其他資源,如插座和CPU週期。這是一個權衡,之類的東西,在創建連接時,通過保持連接打開的費用,你正在使用它的金額的費用。還有在數據庫服務器上的漏電,因爲它需要維護有關的連接狀態信息(以及所有的基礎要求,比如插座) – MadProgrammer