java - Connection 接口(interface)中的 isClose() 方法和 isValid() 方法有什么区别?

标签 java sql database connection

Connection 接口(interface)中的isClose() 方法和isValid() 方法有什么区别? http://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html

无效连接是什么意思?

这是否意味着连接已打开且无效?

当连接无效时会发生什么?

最佳答案

Javadoc 足够清晰。

isClose() 仅在通过调用 Connection.close() 关闭连接时保证返回 true。如果连接由于某些错误而关闭,isClose() 不一定会返回 true。因此,如果返回true,则可以确定连接已关闭,但如果返回false,则不能确定。

isValid()isClose() 相反。它尝试通过运行数据库查询来积极检查连接是否仍处于打开状态。如果它返回 true,则您确定连接已打开。如果它返回 false,则您无法确定它是否打开(因为查询可能由于某些网络问题而延迟,这会阻止它在给定的超时之前完成)。

关于java - Connection 接口(interface)中的 isClose() 方法和 isValid() 方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28558991/

相关文章:

java - 如何在 Java 中创建 vector 数组?

mysql - 树结构中用户的 CRUD 权限

java - 将文件保存到vaadin中的数据库

sql - EF Code First回滚数据库表设计

java - 尝试查找数据库表中是否存在某个项目(如果不存在)。添加它

从 MySQL 工作台文件导入时出现 MySQL 外键约束问题

java - 如何在java中使用带有空格的枚举

java - Hibernate 和 Postgres : function st_buffer(bytea, 数字)不是唯一的

java - 哪个 jar 文件包含 org.n52.wps.server.observerpattern.ISubject 以及如何下载它?

sql - 循环计费数据库设计