以下是一个定时器任务的示例代码,它使用 Java 中的 ScheduledExecutorService 类来定时运行任务。在任务中,我们使用 JDBC 从数据库中查询前 5 秒内的数据。请注意,这只是一个示例代码,您需要根据自己的需求进行修改和适应。

import java.sql.*;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class TimerTaskExample {

    private static final String DB_URL = 'jdbc:mysql://localhost:3306/mydatabase';
    private static final String DB_USER = 'myuser';
    private static final String DB_PASSWORD = 'mypassword';

    public static void main(String[] args) {
        
        // 创建一个ScheduledExecutorService对象
        ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();

        // 每5秒运行一次任务
        executor.scheduleAtFixedRate(new QueryTask(), 0, 5, TimeUnit.SECONDS);
    }
    
    private static class QueryTask implements Runnable {
        @Override
        public void run() {
            try {
                // 连接数据库
                Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
                
                // 构建查询语句
                String query = 'SELECT * FROM mytable WHERE timestamp >= DATE_SUB(NOW(), INTERVAL 5 SECOND)';
                
                // 创建PreparedStatement对象并设置参数
                PreparedStatement stmt = conn.prepareStatement(query);
                
                // 执行查询并处理结果
                ResultSet rs = stmt.executeQuery();
                while (rs.next()) {
                    // 处理结果
                }
                
                // 关闭连接和相关对象
                rs.close();
                stmt.close();
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
Java 定时器任务:每5秒从数据库查询数据

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

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