3

これまでのところ、私が見たすべての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;
        }
    }
}
4

1 に答える 1

5

通常、アクティブな作業範囲を離れるときは、データベース接続を解放する必要があります。データベース接続は高価なリソースです。それらを必要以上に長く保持すると、接続プールマネージャーの仕事がはるかに難しくなります。

複数のDB操作を一緒に実行している場合は、それらすべての操作に同じDB接続を使用するのが非常に合理的です。その操作のグループが完了したら、接続を解放します。

于 2013-01-15T04:15:12.313 に答える