正确的方式来关闭连接

时间:2018-03-16 08:48:13

标签: java java-ee jdbc database-connection

我们在项目中使用连接池。我们在项目中看到语句在关闭连接后关闭。我知道在连接池的情况下,在连接关闭后,与数据库的物理连接不会关闭,而是返回池以供重用。所以我的问题是:

如果在关闭连接后关闭语句会发生什么?是否正确关闭语句/关闭连接将关闭所有语句并关闭语句是多余的/语句是否打开,虽然连接返回池,但由于open语句而无法重用? (我们同时使用Statement和PreparedStatement。)

1 个答案:

答案 0 :(得分:1)

  

如果在关闭连接后关闭语句会发生什么?

无。他们已经关闭了。这是记录在案的。

  

声明是否会正确关闭

是。这是记录在案的。

  

/将关闭连接关闭所有语句

是。这是记录在案的。

  

并关闭语句是多余的

  

语句是开放的,虽然连接返回到池,但由于open语句,它不可重用? (我们同时使用Statement和PreparedStatement。)

我无法做到这一点的头或尾。如果连接已关闭,则从中导出的StatementsResultSets也会关闭。这是记录在案的。如果Connection未关闭,则StatementsResultSets也不会关闭,除非您关闭它们。

您必须整理代码,以便在ResultSets的生命周期之后不再依赖StatementStatement超过Connection的生命周期。这很简单。