spring数据cassandra分页

0lvr5msh  于 2021-06-15  发布在  Cassandra
关注(0)|答案(1)|浏览(521)

有人知道如何在spring数据cassandra中实现分页吗?
我已经尝试了所有可能的替代方法来实现表的分页。其中一个stackoverflow的答案说它不是直接提供的。spring启动应用程序中cassandra的分页选择查询结果
根据文件(https://docs.spring.io/spring-data/cassandra/docs/current-snapshot/reference/html/#cassandra.repositories.queries)称crudepository提供了可分页的方法。org.springframework.data.repository.crudrepository不提供。
我使用的是cassandra3.11.3和springboot1.5.1.release。能不能给我提供一个简单的分页演示与Spring Data Cassandra?

u59ebvdq

u59ebvdq1#

spring数据cassandra中的分页是在“只向前”的基础上工作的 iterable 接口工作。

@Autowired
    PersonRepository personrepo;

    @GetMapping("/all/{page}")
    public List<Person> getPaginated(@PathVariable Integer page) {
        int currpage = 0, size = 2;
        Slice<Person> slice = personrepo.findAll(CassandraPageRequest.first(size));
        while(slice.hasNext() && currpage < page) {
            slice = personrepo.findAll(slice.nextPageable());
            currpage++;
        }

        return slice.getContent();
    }

其中存储库包含:

public interface PersonRepo extends CrudRepository<Person, Integer> {

    Slice<Person> findAll(Pageable pr);

}

因此,您会一直查询结果,直到到达所需的数据位置为止。

相关问题