Java 定时器任务:使用 JDBC 每隔 5 秒查询数据库数据
以下是一个使用 Java 定时器和 JDBC 从数据库中查询数据的示例代码:
import java.sql.*;
import java.util.Timer;
import java.util.TimerTask;
public class DatabaseQueryTask {
private static final String DB_URL = "jdbc:mysql://localhost:3306/mydb"; // 数据库连接 URL
private static final String DB_USER = "root"; // 数据库用户名
private static final String DB_PASSWORD = "password"; // 数据库密码
public static void main(String[] args) {
Timer timer = new Timer(); // 创建一个定时器
// 创建一个定时任务,每隔 5 秒执行一次
TimerTask task = new TimerTask() {
@Override
public void run() {
try {
// 获取数据库连接
Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
// 查询前 5 秒内的数据
String query = "SELECT * FROM mytable WHERE created_at > DATE_SUB(NOW(), INTERVAL 5 SECOND)";
PreparedStatement stmt = conn.prepareStatement(query);
ResultSet rs = stmt.executeQuery();
// 处理查询结果
while (rs.next()) {
int id = rs.getInt('id');
String name = rs.getString('name');
System.out.println('id: ' + id + ', name: ' + name);
}
// 关闭数据库连接
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
};
// 每隔 5 秒执行一次定时任务
timer.schedule(task, 0, 5000);
}
}
在上面的示例中,我们使用了 Java 的定时器类 java.util.Timer 和定时任务类 java.util.TimerTask 来实现定时查询数据库的功能。在定时任务的 run 方法中,我们使用 JDBC 连接到数据库,并查询前 5 秒内的数据。查询结果会打印在控制台上。每隔 5 秒执行一次定时任务,直到程序退出。
原文地址: https://www.cveoy.top/t/topic/mLwE 著作权归作者所有。请勿转载和采集!