gpt4 book ai didi

mysql - 使用 spring MVC 和 mysql 实现分页的最佳方法是什么

转载 作者:可可西里 更新时间:2023-11-01 06:46:08 24 4
gpt4 key购买 nike

在我的数据库中,我有超过 100,000 条记录,将来可能会更多。所以我想为此实现分页。它就像帖子一样,偶尔用户可以转到最旧或太旧的帖子。我正在使用 spring MVC,数据库是 mysql。

我还使用 PagedListHolder 来实现分页。我想每页显示 25 个帖子,但如果我最初获取所有 100,000 个帖子,那么加载所有记录需要一些时间。如果我先加载 100 条记录,然后将列表与另外 100 条记录合并,这样会更好吗?如果用户想要查看最旧的帖子,则获取最近的 100 篇帖子并在最后一页显示最近的 25 篇帖子。

所以只是想知道如果有人可以帮助我给出正确的方向,这个解决方案是否可行。

最佳答案

如果您使用的是 ORM,Spring Data JPA , 可以轻松提供开箱即用的分页功能。

需要分页的实体的 DAO 接口(interface)将扩展 PagingAndSortingRepository界面如:-

public interface BookRepository extends PagingAndSortingRepository<Book,Long>{
// methods other than plain CRUD can be declared here
}

分页操作的关键接口(interface)是Pageable .它准备好使用实现 PageRequest封装分页输入,例如最大结果大小、页码、大小、排序依据、排序方向、偏移量。

PageRequest 可以从处理程序方法中的请求属性中获取,并作为参数传递给存储库方法,例如:-

Page<Book> result = bookRepository.findAll(pageRequest);

返回类型 Page , 可以在 View 层中轻松迭代以呈现结果大小、结果总数、排序顺序、排序方向等详细信息。

我找到了这个 tutorial有帮助。

关于mysql - 使用 spring MVC 和 mysql 实现分页的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11877182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com