【问题标题】:Do I need to close 'PreparedStatement'? [closed]我需要关闭“PreparedStatement”吗? [关闭]
【发布时间】:2013-01-10 21:07:07
【问题描述】:

我有一个获得大量点击的网站。我遇到了问题,包括 JDBC 连接错误。

我对关闭 PreparedStatement 有点困惑。我需要关闭PreparedStatement 还是仅关闭Statement 就足够了?

另外,ResultSet 呢?我也需要关闭它吗?

【问题讨论】:

标签: java jdbc


【解决方案1】:

是的,您必须关闭准备好的语句(PreparedStatement Object)和结果集,因为它们可能会导致内存泄漏。

有关详细信息,请参阅 Using Prepared Statements

【讨论】:

  • 不,只关闭 Connection 就足够了,这会关闭所有从它创建的 StatementsPreparedStatements,以及依次从它们创建的 ResultSets,但如果你是每个连接使用大量PreparedStatementsResultSets 尽快关闭它们是明智的。您的链接中没有任何内容支持您的主张。
【解决方案2】:

是的,您必须关闭它。如果连接来自池,关闭它实际上会将其发送回池以供重用。

finally{} 块中关闭,这样如果抛出异常,您仍然有机会关闭它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-18
    • 2010-10-19
    • 2021-02-24
    • 2018-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多