2

只是将应用程序转换为 JAVA 7 并想知道是否有人在尝试使用资源和 c3p0 连接池时遇到问题。

我猜现在JAVA会自动关闭数据库,准备好的语句和语句,如果你使用try with resources的话。

是不是说JDBC驱动、c3p0等底层API必须实现AutoClosable?

我正在使用 c3p0 0.9.2.1 和 jtds 1.3.0

4

1 回答 1

5

我们免费得到这个!

jdbc 资源 [ Connection, Statement, ResultSet] 一直提供 close() 方法。从 Java 7 开始,这些接口继承 AutoCloseable。在 Java 7 api 下运行时,即使是旧实现也会继承该接口。因为它们已经有 close() 方法可以做正确的事情,所以这些实现将履行该接口的合同。

因此,即使在非常旧的 jdbc 实现库版本下,try-with-resource 也应该可以正常工作,无需任何修改。

于 2013-11-14T22:49:08.417 回答