以下网站展示了如何在JDBC中使用新的“自动关闭”功能:link。该网站显示了语句将如何自动关闭,但结果集不在try()部分,在那里它将自动关闭。所以,我的问题是,我不需要在Java 7中直接关闭结果集吗?我一直使用这种模式:关闭结果集、关闭语句、关闭连接。
来自ResultSet的Javadoc:
当生成结果集的语句对象关闭、重新执行或用于从多个结果序列中检索下一个结果时,结果集对象将自动关闭。
我有一个spring应用程序,它的主页发出多个ajax调用,这些调用反过来从DB中提取数据并返回。DB已配置连接池,minPoolSize为50,maxPoolSize为100。 现在,当我打开主页时,大约有7个连接与DB建立,这是因为大约有7个ajax调用被调用,我假设所有调用都创建了自己的连接。现在,当我刷新页面时,我看到又建立了7个新连接(我看到db2监控中总共有14个物理连接),这似乎出乎
有人能帮我吗?
我知道Java中的安全模式是在finally块中按顺序关闭结果集、语句和连接。 若您关闭连接,然后尝试关闭语句(不引发异常)。但若您试图从语句中调用任何方法,则会引发异常。 我想知道关闭连接是否会自动关闭所有由该连接创建的语句对象? 更新:我正在使用DatabaseProductVersion:Oracle Database 11g Release 11.1.0.0.0驱动程序名称:Oracle
单击按钮时,此代码显示此错误消息: 结果集关闭后不允许操作 代码:
这个问题应该很简单,而且可能会让人恼火,但我仍然对使用Java关闭结果集感到怀疑。每个语句都应该这样做,或者结果集应该只在final中关闭?
问题内容: 我知道Java中的安全模式是在finally块中依次关闭ResultSet,Statement和Connection。 如果您关闭连接,然后尝试关闭语句(不抛出异常)。但是,如果您尝试从语句中调用任何方法,则会引发异常。 我想知道关闭连接是否会自动关闭从该连接创建的所有语句对象? 更新: 我正在使用DatabaseProductVersion:Oracle Database 11g版本