gpt4 book ai didi

java - 对 ResultSet 引用调用 close 是否会关闭引用同一 ResultSet 的另一个引用?

转载 作者:行者123 更新时间:2023-12-01 23:00:16 27 4
gpt4 key购买 nike

我有一个 Servlet,它使用返回 ResultSet 的静态实用程序方法。

在我的 Servlet 代码中,我有

ResultSet rs = SimpleSearch.searchByName(request);

在我的 searchByName 方法中,我有以下代码(不是完整代码);

try {
preparedStatement = connection.prepareStatement(str);
preparedStatement.setDate(1, firstSQLDOB);
preparedStatement.setDate(2, secondSQLDOB);
rs = preparedStatement.executeQuery();
resultSet = rs;

} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
try {
if (connection != null) {
connection.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}

return resultSet;

关闭rs是否也会关闭resultSet

最佳答案

是的,因为 resultSetrs 是指向同一个对象的两个引用。

我通常不会传递你的结果集,因为你想控制它的关闭(并防止资源泄漏)。我宁愿得到它,迭代并构建一组与其结果相关的对象,关闭结果集并从数据库中返回结果对象集合。

关于java - 对 ResultSet 引用调用 close 是否会关闭引用同一 ResultSet 的另一个引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23470278/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com