【问题标题】:Springdata pagination in a server-client application服务器-客户端应用程序中的 Spring Data 分页
【发布时间】:2013-07-03 23:50:00
【问题描述】:

我很难理解如何检索页面中的信息,而不是整体。到目前为止,我当前的应用程序有一个数据库、一个服务器/服务和一个前端 GUI 客户端应用程序。

后端(服务)如下所示:

IOrdheadService.java

public interface IOrdheadService {

@GET
@Path("/ordheads")
@Produces("application/json")
List<Ordhead> getOrdheadList();

@GET
@Path("/ordhead/{id}")
@Produces("application/json")
Ordhead getOrdhead(@PathParam("id") String id);

OrdheadService.java

@Service
@Path("ordheadservice")
public class OrdheadService implements IOrdheadService {

@Autowired
private OrdheadRepository ordheadRepository;
@Autowired
private IPrimaryKeyGenerator primaryKeyGenerator;

@Override
public List<Ordhead> getOrdheadList() {
    return ordheadRepository.findAll();
}

@Override
public Ordhead getOrdhead(@QueryParam("id") String id) {
    return ordheadRepository.findByPrimaryKey(id);
}

OrdheadRepository.java

public interface OrdheadRepository extends JpaRepository<Ordhead, String> {

Ordhead findByPrimaryKey(String id);
}

而客户端收到这样的信息:

    private List<Ordhead> resultList;
    resultList = client.getOrdheadList();

然后我使用 |> >| 遍历 resultList屏幕上的按钮。

尝试通过页面复制该功能,我在 OrdheadService 中尝试了以下操作

    PageRequest page1 = new PageRequest(
            0, 20, Direction.ASC, "primaryKey");
           Pageable p = new PageRequest(0, 20);
    return ordheadRepository.findAll(page1).getContent();

哪个有效 - 返回前 20 个结果。但是,我需要让客户知道有多少页。这样如果有 40 条记录并且客户端在记录 20 上,按>>按钮将获取接下来的 20 条记录并将客户端移动到记录 21。

我已尝试阅读以下链接:

https://github.com/SpringSource/spring-data-rest/wiki/Paging-and-Sorting http://blog.fawnanddoug.com/2012/05/pagination-with-spring-mvc-spring-data.html

但还没有弄清楚如何正确实现它。

感谢任何帮助。

谢谢

【问题讨论】:

    标签: java rest pagination client-server spring-data


    【解决方案1】:

    ordheadRepository.findAll(page1) 返回一个Page&lt;Ordhead&gt;,其中包含所有必要信息以及页面内容。

    【讨论】:

    • 我没有机会测试它(实际上运行代码),但现在只需查看 javadoc 并将我的行更改为 Page&lt;Ordhead&gt; page = new PageRequest(...) - 似乎给了我所有的方法我需要获得功能。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多