Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 连接接口中的isClose()方法和isValid()方法有什么区别?_Java_Sql_Database_Connection - Fatal编程技术网

Java 连接接口中的isClose()方法和isValid()方法有什么区别?

Java 连接接口中的isClose()方法和isValid()方法有什么区别?,java,sql,database,connection,Java,Sql,Database,Connection,Connection接口中的isClose()方法和isValid()方法有什么区别? 无效连接是什么意思 这是否意味着连接已打开且无效 当连接无效时会发生什么情况?Javadoc足够清晰 只有通过调用connection.close()关闭连接时,isClose()才保证返回true。如果由于某些错误而关闭了连接,isClose()不一定会返回true。因此,如果它返回true,您可以确定连接已关闭,但如果它返回false,您无法确定 isValid()与isClose()相反。它试图通过运

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

无效连接是什么意思

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


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

Javadoc足够清晰

只有通过调用
connection.close()
关闭连接时,
isClose()
才保证返回true。如果由于某些错误而关闭了连接,
isClose()
不一定会返回true。因此,如果它返回true,您可以确定连接已关闭,但如果它返回false,您无法确定

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

isClosed():-
如果我们在连接上调用close(),或者在连接上发生任何致命错误,则返回true。因此,您必须为代码创建新连接


isValid(int timeout):-
在这种情况下,首先检查是否关闭,如果它没有关闭,然后驱动程序提交一个关于连接的查询,以测试它是否工作。如果有效,则返回true或false。

签出是否有效表示是否打开?是否有其他方法可以确定连接是否有效(或打开)?@Charychap是的,如果isValid()返回true,则表示打开,但即使isValid()返回false,也可能仍然打开。谢谢您的回答。是否有其他方法可以确保连接是否有效(或打开)?@Charychap您可以始终尝试运行数据库查询或更新,如果有效,连接必须打开且有效。