使用Java时如何在Spanner中实现分页

问题描述 投票:0回答:1

我下面有200条记录的代码。我需要对此进行分页。

  Statement.Builder buildStatement = Statement.newBuilder(sql);
  List<EmployeeSpanner> spannerList= this.spannerTemplate
                .query(EmployeeSpanner.class, buildStatement.build(), null);

SQL是根据多种逻辑和条件创建的,因此我不能使用类似findAll的任何东西。

这将返回200条记录,我们需要通过分页将其发送到UI,以便第一页仅显示25条记录,第二页显示25条,依此类推。

以下是我们为OLTP完成的操作,但是对于Google扳手,我需要类似的操作。

 int countset= (int) (pageable.getOffset() > countOfRecord? 0 : pageable.getOffset());
        query.setFirstResult(countset);
        query.setMaxResults(pageable.getPageSize());

    return new PageImpl<>(query.getResultList(), pageable, countOfRecord);

我下面有200条记录的代码。我需要在这实现分页。 Statement.Builder buildStatement = Statement.newBuilder(sql);列表spannerList = ...

java google-cloud-spanner
1个回答
0
投票

要实现分页查询,您需要为SpannerQueryOptions配置一个limit和一个offset,然后将其传递给查询。

© www.soinside.com 2019 - 2024. All rights reserved.