gpt4 book ai didi

java - 在 Java SQL 中自动关闭结果集

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:41:21 25 4
gpt4 key购买 nike

考虑以下代码

ResultSet rs = null;
Statement st = null;
try {
//do somehting
} catch (Exception e){
//do something
} finally {
if(st != null){
try {
st.close();
} catch (SQLException e) {
log.error("Exception while closing statement: " + e);
}
}
}

问题是当我们关闭语句时,它会关闭结果集还是我们需要像这样显式关闭结果集

if(rs != null){
try {
rs.close();
} catch (SQLException e) {
log.error("Exception while closing result set: " + e);
}
}

我以为关闭语句会自动关闭结果集,但是如果我不显式关闭结果集,FindBugs会抛出如下警告

This method may fail to clean up java.sql.ResultSet

最佳答案

When a Statement object is closed, its current ResultSet object, if one exists, is also closed.

Thisthis显示 Oracle 可能有问题,您可能必须明确关闭 ResultSet。但同样,根据 Javadocs,这应该不是问题。因此,警告,也许。

关于java - 在 Java SQL 中自动关闭结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10602271/

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