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{ // 自定义分页查询方法 Page findByLastName(String lastName, Pageable pageable); } // 在服务类中使用分页查询 @Service public class UserService { @Autowired private UserRepository userRepository; public Page 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
方法进行分页查询。