JDBC 语句查询超时为 0

JDBC statement query timeout is 0

我确实打印了 JDBC 语句级别可用的查询超时:

Statement statement=con.createStatement();

System.out.println(statement.getQueryTimeout()); // This prints 0

它打印0。这是什么意思?这是否意味着查询将无限期地等待直到完成?

Statement#getQueryTimeout() 的 Javadoc 就 return 值提到了这一点:

the current query timeout limit in seconds; zero means there is no limit

因此我们可以解释您所看到的是没有设置语句执行的超时时间。

请注意,这 并不 意味着您的数据库连接没有任何超时。确实如此,而且耗时过长的语句可能会被数据库删除。