[英]Proper way to close connection
我们在项目中使用连接池。 在连接关闭后,我们在项目中看到语句已关闭。 我知道在连接池的情况下,关闭连接后,与数据库的物理连接不会关闭,而是返回到池中以供重用。 所以我的问题是:
如果在关闭连接后关闭语句,会发生什么? 语句是否可以正确关闭/关闭连接会关闭所有语句并关闭语句是多余的/语句是打开的,尽管连接返回到池中,但由于打开的语句而无法重用? (我们同时使用Statement和PreparedStatement)。
如果在关闭连接后关闭语句,会发生什么?
没有。 他们已经关门了。 记录在案。
语句是否正确关闭
是。 记录在案。
/将关闭连接关闭所有语句
是。 记录在案。
和关闭语句是多余的
是。
语句是打开的,尽管连接返回到池中,但由于打开了语句,它不可重用吗? (我们同时使用Statement和PreparedStatement)。
我无法做到这一点。 如果连接已关闭,则从该连接派生的Statements
和ResultSets
也将关闭。 记录在案。 如果未关闭Connection
,则除非您将它们关闭,否则Statements
和ResultSets
也不会关闭。
您必须组织代码,这样才不会在Statement
的生命周期之外依赖ResultSets
,在Connection
的生命周期之外也不依赖Statement
。 这很容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.