以下是一个使用 Java 和 JDBC 连接数据库来获取某张表 5 分钟内新增数据的示例代码:

import java.sql.*;
import java.util.Calendar;
import java.util.Date;

public class GetNewRecords {

    public static void main(String[] args) throws SQLException {
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;

        try {
            Class.forName('com.mysql.cj.jdbc.Driver'); // 加载MySQL驱动

            String url = 'jdbc:mysql://localhost:3306/test?serverTimezone=UTC'; // 数据库连接地址
            String user = 'root'; // 用户名
            String password = 'password'; // 密码

            // 连接数据库
            conn = DriverManager.getConnection(url, user, password);

            // 获取当前时间
            Date now = new Date();
            Calendar cal = Calendar.getInstance();
            cal.setTime(now);

            // 计算5分钟前的时间
            cal.add(Calendar.MINUTE, -5);
            Date fiveMinutesAgo = cal.getTime();

            // 准备SQL语句,查询5分钟内新增的记录
            String sql = 'SELECT * FROM table_name WHERE create_time >= ?';
            pstmt = conn.prepareStatement(sql);
            pstmt.setTimestamp(1, new Timestamp(fiveMinutesAgo.getTime()));

            // 执行查询
            rs = pstmt.executeQuery();

            // 处理查询结果
            while (rs.next()) {
                // TODO: 处理查询结果
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } finally {
            // 关闭数据库连接
            if (rs != null) {
                rs.close();
            }
            if (pstmt != null) {
                pstmt.close();
            }
            if (conn != null) {
                conn.close();
            }
        }
    }
}

在上面的代码中,我们使用了 Java 的 JDBC API 来连接数据库,并执行了一个查询操作,筛选出了 5 分钟内新增的记录。其中,我们使用了 java.sql.Timestamp 类来表示时间戳,java.util.Calendar 类来进行时间的计算。您需要根据实际情况修改代码中的数据库连接信息和 SQL 语句。

代码说明:

  1. 数据库连接

    • 加载 MySQL 驱动:Class.forName('com.mysql.cj.jdbc.Driver');
    • 设置数据库连接地址、用户名和密码:String url = 'jdbc:mysql://localhost:3306/test?serverTimezone=UTC';
    • 连接数据库:conn = DriverManager.getConnection(url, user, password);
  2. 时间计算

    • 获取当前时间:Date now = new Date();
    • 创建 Calendar 对象:Calendar cal = Calendar.getInstance();
    • 设置 Calendar 对象的时间:cal.setTime(now);
    • 计算 5 分钟前的时间:cal.add(Calendar.MINUTE, -5);
    • 获取 5 分钟前的时间:Date fiveMinutesAgo = cal.getTime();
  3. SQL 语句

    • 准备查询 5 分钟内新增数据的 SQL 语句:String sql = 'SELECT * FROM table_name WHERE create_time >= ?';
    • 使用 setTimestamp 方法设置查询条件中的时间戳:pstmt.setTimestamp(1, new Timestamp(fiveMinutesAgo.getTime()));
  4. 执行查询和处理结果

    • 执行查询:rs = pstmt.executeQuery();
    • 处理查询结果:while (rs.next()) { ... }

注意:

  • 请将代码中的数据库连接信息、表名和 create_time 列名替换为您的实际信息。
  • create_time 列应存储时间戳类型的数据。
  • TODO: 处理查询结果 部分,您可以根据您的需求编写代码来处理查询结果。
  • 记得在使用完数据库连接后关闭连接,以释放资源。

希望本示例代码可以帮助您快速地获取数据库表中 5 分钟内新增的数据。

Java 获取数据库表 5 分钟内新增数据

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

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