我正在(成功地)使用以下方法连接到数据库:
java.sql.Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost/some_database?user=some_user&password=some_password");
我应该检查什么以查看连接是否在一段时间后仍处于打开状态?
我希望有类似 connect.isConnected();
的东西供我使用。
原文由 MonoThreaded 发布,翻译遵循 CC BY-SA 4.0 许可协议
没有什么。只需执行您的查询。如果连接中断,您的 JDBC 驱动程序将重新连接(如果它支持它,并且您在连接字符串中启用了它——大多数不支持它),否则您将得到一个异常。
如果您检查连接是否已启动,它可能会在您实际执行查询之前掉线,因此您通过检查绝对一无所获。
也就是说,许多连接池在分发连接之前通过执行诸如
SELECT 1
之类的操作来验证连接。但这只不过是执行一个查询,所以您也可以执行您的业务查询。