我想自动关闭语句

时间:2011-07-11 13:36:21

标签: java spring jdbc

我想自动关闭声明。

我希望通过以下条件的技术来实现它。

  • Java1.5的
  • spring framework2.5

虽然我认为spring的事务管理器会自动关闭语句,但似乎不会在默认设置中自动关闭。

我不想在可维护性方法中尽可能多地调用close()语句。

是否存在声明关闭的方法?

此外,是否有官方网站或文件显示没有关闭方法的原因?

2 个答案:

答案 0 :(得分:0)

如果所有方法都必须调用close()语句,编码量会增加,并且存在遗漏生成的可能性熄灭的问题。

而且,我正在制作框架。它希望通过这样的理由尽可能地制定限制并制定一些方法。

答案 1 :(得分:0)

如果我理解你的问题,你可以使用http://commons.apache.org/dbcp/为你做结束,据我所知这是标准,所以很可能你已经在使用它,只要你使用弹簧或jndi提供您的数据库连接。 在您的配置中进行数据库连接配置     removeAbandoned =真 和     removeAbandonedTimeout = 50 有关详细信息,请参阅http://commons.apache.org/dbcp/configuration.html(最低区块)。 请注意,如果您依赖它来清理连接,则应该使用相当大的连接池。

关于为什么没有关闭方法的问题:有。

关闭Connection将关闭其所有语句。 关闭Statement将关闭其所有ResultSet。

毕竟,这样做没有好的风格。我建议您自己调用close()并使用放弃删除仅通过添加来找到您忘记这样做的地方     logAbandoned =真