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);
}
// 在服务类中使用分页查询
@Service
public 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
方法进行分页查询。