温馨提示×

java pageable是什么

小樊
83
2024-09-07 00:18:44
栏目: 编程语言

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 方法进行分页查询。

0