Java 获取数据库表 5 分钟内新增数据
以下是一个使用 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 语句。
代码说明:
-
数据库连接:
- 加载 MySQL 驱动:
Class.forName('com.mysql.cj.jdbc.Driver'); - 设置数据库连接地址、用户名和密码:
String url = 'jdbc:mysql://localhost:3306/test?serverTimezone=UTC'; - 连接数据库:
conn = DriverManager.getConnection(url, user, password);
- 加载 MySQL 驱动:
-
时间计算:
- 获取当前时间:
Date now = new Date(); - 创建 Calendar 对象:
Calendar cal = Calendar.getInstance(); - 设置 Calendar 对象的时间:
cal.setTime(now); - 计算 5 分钟前的时间:
cal.add(Calendar.MINUTE, -5); - 获取 5 分钟前的时间:
Date fiveMinutesAgo = cal.getTime();
- 获取当前时间:
-
SQL 语句:
- 准备查询 5 分钟内新增数据的 SQL 语句:
String sql = 'SELECT * FROM table_name WHERE create_time >= ?'; - 使用
setTimestamp方法设置查询条件中的时间戳:pstmt.setTimestamp(1, new Timestamp(fiveMinutesAgo.getTime()));
- 准备查询 5 分钟内新增数据的 SQL 语句:
-
执行查询和处理结果:
- 执行查询:
rs = pstmt.executeQuery(); - 处理查询结果:
while (rs.next()) { ... }
- 执行查询:
注意:
- 请将代码中的数据库连接信息、表名和
create_time列名替换为您的实际信息。 create_time列应存储时间戳类型的数据。TODO: 处理查询结果部分,您可以根据您的需求编写代码来处理查询结果。- 记得在使用完数据库连接后关闭连接,以释放资源。
希望本示例代码可以帮助您快速地获取数据库表中 5 分钟内新增的数据。
原文地址: https://www.cveoy.top/t/topic/mU55 著作权归作者所有。请勿转载和采集!