以下是一个示例代码,可以每隔5秒从数据库中查询5秒前的数据。

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 DatabaseTimerTask extends TimerTask {

    private Connection connection;
    private Statement statement;

    public DatabaseTimerTask() throws SQLException {
        // 初始化数据库连接
        String jdbcUrl = "jdbc:mysql://localhost:3306/test";
        String username = "root";
        String password = "password";
        connection = DriverManager.getConnection(jdbcUrl, username, password);
        statement = connection.createStatement();
    }

    @Override
    public void run() {
        try {
            // 查询5秒前的数据
            String sql = "SELECT * FROM my_table WHERE create_time < NOW() - INTERVAL 5 SECOND";
            ResultSet resultSet = statement.executeQuery(sql);
            while (resultSet.next()) {
                // 处理查询结果
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                System.out.println("Found data: id=" + id + ", name=" + name);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws SQLException {
        // 创建定时器任务并安排每5秒执行一次
        Timer timer = new Timer();
        timer.schedule(new DatabaseTimerTask(), 0, 5000);
    }

}

注意,这个示例代码只是演示了在定时器任务中使用 JDBC 查询数据库的基本方法,实际使用时还要根据具体的需求进行适当的修改和优化。例如,需要注意数据库连接的管理、异常处理、查询结果的处理等问题。

如何用java代码定时器任务用jdbc来每隔5秒从数据库中查询5秒前的数据

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

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