Pageable 是 Spring Data JPA 中的一个接口,用于在分页查询时定义分页参数。它包含了两个主要属性:pageNumber(页码)和 pageSize(每页显示的记录数)。通过实现这个接口,你可以轻松地对数据库进行分页查询。
Pageable 接口通常与 Page 接口一起使用,Page 接口表示一个分页查询的结果,包含了当前页的数据、总页数等信息。
下面是一个简单的例子,展示了如何使用 Pageable 进行分页查询:
import org.springframework.data.domain.Page;import org.springframework.data.domain.PageRequest;import org.springframework.data.domain.Pageable;import org.springframework.data.jpa.repository.JpaRepository;public interface UserRepository extends JpaRepository<User, Long> { // 自定义分页查询方法 Page<User> findByLastName(String lastName, Pageable pageable);}// 在服务类中使用分页查询@Servicepublic class UserService { @Autowired private UserRepository userRepository; public Page<User> getUsersByLastName(String lastName, int pageNumber, int pageSize) { // 创建一个 Pageable 对象 Pageable pageable = PageRequest.of(pageNumber, pageSize); // 调用自定义的分页查询方法 return userRepository.findByLastName(lastName, pageable); }}在这个例子中,我们首先创建了一个 UserRepository 接口,继承了 JpaRepository,并添加了一个自定义的分页查询方法 findByLastName。然后,在 UserService 类中,我们使用 PageRequest.of() 方法创建了一个 Pageable 对象,并将其传递给 findByLastName 方法进行分页查询。


