到目前为止,我所看到的所有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;
}
}
}
答案 0 :(得分:4)
离开活动工作范围时,通常应该释放数据库连接 。数据库连接是昂贵的资源。持有它们超过必要的时间会使连接池管理器的工作变得更加困难。
如果您一起执行多个数据库操作,则对所有这些操作使用相同的数据库连接是非常合理的。完成该组操作后,释放连接。