java根据总数循环分页查询全量数据
时间: 2023-11-24 18:09:09 浏览: 59
你可以使用 Java 的分页查询语句来实现这个功能。以下是一个示例代码:
```java
public List<User> getAllUsers(int pageSize, int pageNumber) {
List<User> userList = new ArrayList<>();
try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD)) {
String sql = "SELECT * FROM users LIMIT ? OFFSET ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, pageSize);
pstmt.setInt(2, (pageNumber - 1) * pageSize);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
userList.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
}
return userList;
}
```
在这个示例代码中,我们使用了 MySQL 数据库,并使用了 `LIMIT` 和 `OFFSET` 子句来实现分页查询。`LIMIT` 子句用于限制查询结果的数量,而 `OFFSET` 子句用于指定从哪个位置开始查询数据。我们将 `pageSize` 和 `pageNumber` 作为参数传递给方法,以确定每页的数据量和要查询的页码。在循环中,我们将每一行数据都转换为一个 `User` 对象,并将其添加到 `userList` 中。最后,我们返回 `userList`。