可以使用 java.util.Timerjava.util.TimerTask 类来实现定时器任务,使用 JDBC 来查询数据库中的数据。以下是一个示例代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Timer;
import java.util.TimerTask;

public class DatabaseQueryTask extends TimerTask {

    private Connection connection;

    public DatabaseQueryTask() throws SQLException {
        // 连接数据库
        String url = "jdbc:mysql://localhost:3306/test";
        String username = "root";
        String password = "password";
        connection = DriverManager.getConnection(url, username, password);
    }

    @Override
    public void run() {
        try {
            // 查询前 5 秒内的数据
            String sql = "SELECT * FROM table_name WHERE create_time > DATE_SUB(NOW(), INTERVAL 5 SECOND) LIMIT 5";
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery(sql);
            while (resultSet.next()) {
                // 处理查询结果
                // ...
            }
            resultSet.close();
            statement.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws SQLException {
        Timer timer = new Timer();
        timer.schedule(new DatabaseQueryTask(), 0, 5000); // 每隔 5 秒执行一次查询任务
    }
}

在上面的代码中,首先通过 JDBC 连接到数据库,然后在任务的 run 方法中执行查询操作,查询前 5 秒内的数据。由于定时器的 schedule 方法可以设置任务的开始时间和间隔时间,因此可以通过设置间隔时间为 5 秒来实现每隔 5 秒执行一次查询任务。在查询结果中处理数据的部分可以根据具体需求进行修改。


原文地址: https://www.cveoy.top/t/topic/mLwT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录