jpa分页
时间: 2023-06-22 09:19:13 浏览: 102
在JPA中,分页可以通过使用`Pageable`接口实现。以下是实现JPA分页的基本步骤:
1. 创建`PageRequest`对象,该对象包含页码、每页记录数和排序规则等分页信息。
```java
PageRequest pageRequest = PageRequest.of(pageNum, pageSize, Sort.Direction.DESC, "id");
```
2. 在JpaRepository中使用`findAll(Pageable pageable)`方法,传入`PageRequest`对象作为参数,来获取分页结果。
```java
Page<User> userPage = userRepository.findAll(pageRequest);
```
3. 从`Page`对象中获取分页信息和结果数据。
```java
// 获取当前页码
int currentPage = userPage.getNumber();
// 获取每页记录数
int pageSize = userPage.getSize();
// 获取总记录数
long totalSize = userPage.getTotalElements();
// 获取总页数
int totalPages = userPage.getTotalPages();
// 获取分页结果数据
List<User> userList = userPage.getContent();
```
完整的JPA分页示例代码如下:
```java
// 创建PageRequest对象
PageRequest pageRequest = PageRequest.of(pageNum, pageSize, Sort.Direction.DESC, "id");
// 调用JpaRepository中的findAll方法,获取分页结果
Page<User> userPage = userRepository.findAll(pageRequest);
// 从Page对象中获取分页信息和结果数据
int currentPage = userPage.getNumber();
int pageSize = userPage.getSize();
long totalSize = userPage.getTotalElements();
int totalPages = userPage.getTotalPages();
List<User> userList = userPage.getContent();
```
需要注意的是,JPA分页的实现方式可能因为不同的JPA实现而有所差异,以上代码示例基于Spring Data JPA实现。
阅读全文