以下是一个简单的 Java 代码示例,用于定时器任务,使用 JDBC 从数据库中每隔 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 TimerTaskExample {

    public static void main(String[] args) {
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                Connection conn = null;
                Statement stmt = null;
                try {
                    Class.forName("com.mysql.jdbc.Driver");
                    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
                    stmt = conn.createStatement();
                    String query = "SELECT * FROM mytable WHERE created_at >= DATE_SUB(NOW(), INTERVAL 5 SECOND) ORDER BY created_at DESC LIMIT 5";
                    ResultSet rs = stmt.executeQuery(query);
                    while (rs.next()) {
                        String data = rs.getString("data");
                        System.out.println(data);
                    }
                } catch (ClassNotFoundException | SQLException e) {
                    e.printStackTrace();
                } finally {
                    try {
                        if (stmt != null) stmt.close();
                        if (conn != null) conn.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
            }
        };
        Timer timer = new Timer();
        long delay = 0;
        long intervalPeriod = 5000;
        timer.scheduleAtFixedRate(task, delay, intervalPeriod);
    }

}

上面的代码使用了 Java 的定时器类 Timer 和定时器任务类 TimerTask。在这个示例中,定时器任务会每隔 5 秒钟执行一次查询语句,然后打印出结果集中的数据。

查询语句使用了 MySQL 数据库的语法,可以根据需要进行修改。在这个示例中,查询语句会查询创建时间在 5 秒钟内的数据,并按照创建时间倒序排列,最终只返回前 5 条结果。

这个示例还使用了 JDBC 来连接 MySQL 数据库,并执行查询语句。在使用 JDBC 时需要注意连接数据库的参数,例如数据库的 URL、用户名和密码等。

总之,这个示例展示了如何使用 Java 的定时器和 JDBC 来定期从数据库中查询数据。可以根据需要进行修改和扩展。

Java 定时器任务:每 5 秒从数据库查询数据

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

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