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

当您离开活动的工作范围时,您通常应该释放您的数据库连接。数据库连接是昂贵的资源。持有它们超过必要的时间会使连接池管理器的工作变得更加困难。

如果您同时执行多个数据库操作,那么对所有这些操作使用相同的数据库连接是非常合理的。完成该组操作后,释放连接。

于 2013-01-15T04:15:12.313 回答