gpt4 book ai didi

java - 检查程序是否仍然与本地主机连接(在 JDBC 中)?

转载 作者:行者123 更新时间:2023-11-30 21:37:30 24 4
gpt4 key购买 nike

我使用 JDBC 创建了到 localhost 的连接。那里很好,但是如果我想知道连接是否仍然存在怎么办?我的代码:

class Connection_maker
{
private Connection conn;
private static final String DESTINATION = "jdbc:mysql://localhost/";
public Connection_maker()
{
try
{
Class.forName("com.mysql.jdbc.Driver");
this. conn = java.sql.DriverManager.getConnection(DESTINATION, "root", "");
System.out.println("connected");
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
new Connection_maker();
}
}

我尝试使用 java.util.Timer 每 1 分钟安排一个 TimerTask,但我必须创建另一个连接,我认为这不是有效的方法。我在 catch block 中尝试了 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException,但它不起作用。

有没有办法知道连接是否仍然存在?

最佳答案

使用连接执行查询“select 1”。这是非常轻量级的。

bool isAlive(){
try{
String query = "SELECT 1";
Statement st = this.conn.createStatement(ue);
ResultSet rs = st.executeQuery(query);
return true;
}catch(SQLException e){
// honestly kind of non-specific ??
return false;
}
}

关于java - 检查程序是否仍然与本地主机连接(在 JDBC 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53229960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com