在Java中,可以使用数据库的LIMIT和OFFSET子句来实现分页查询。下面是一个示例代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class PaginationExample {
public static void main(String[] args) {
// 连接数据库
try (Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/example_db", "username", "password")) {
// 设置分页参数
int pageNumber = 1; // 当前页数
int pageSize = 10; // 每页记录数
// 计算偏移量
int offset = (pageNumber - 1) * pageSize;
// 构造 SQL 查询语句
String sql = "SELECT * FROM your_table LIMIT ? OFFSET ?";
// 创建 PreparedStatement 对象
try (PreparedStatement statement = connection.prepareStatement(sql)) {
// 设置参数
statement.setInt(1, pageSize);
statement.setInt(2, offset);
// 执行查询
try (ResultSet resultSet = statement.executeQuery()) {
// 遍历结果集
while (resultSet.next()) {
// 处理每行数据
// 例如:
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("ID: " + id + ", Name: " + name);
}
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
上述示例代码使用了MySQL数据库作为示例,你需要替换URL、用户名、密码、表名以及列名。请确保已正确配置数据库连接和驱动依赖。代码中的pageNumber
表示当前页数,pageSize
表示每页记录数,可以根据实际需求进行调整。