返回介绍

4.4.4 处理特殊参数

发布于 2020-08-26 12:31:29 字数 3174 浏览 1246 评论 0 收藏 0

通过上面的例子,我们知道可以方便的通过定义方法的参数来处理查询中的参数。除此之外,我们还可以为方法添加某些特定类型的参数(如:PageableSort)来动态的在查询中添加分页和排序。

Example 7. Using Pageable, Slice and Sort in query methods(查询中进行分页和排序)

Page<User> findByLastname(String lastname, Pageable pageable);

Slice<User> findByLastname(String lastname, Pageable pageable);

List<User> findByLastname(String lastname, Sort sort);

List<User> findByLastname(String lastname, Pageable pageable);

第一个例子中我们向方法传递一个org.springframework.data.domain.Pageable的实例来为查询动态的添加分页,返回的Page对象中包含元素总数和当前页的数据。其中的元素总数是通过Spring Data自动触发的一个count查询获得的。但是count查询有时会降低一定的性能,所以在不需要总数时,我们可以使用Slice来代替Page。Slice仅仅可以知道是否有可用的下一个Slice。 排序操作也可以通过Pageable实例来处理。但如果你需要的只是排序,只需要为方法添加org.springframework.data.domain.Sort类型的参数即可。我们也可以只简单的返回一个list,这时就不会执行count查询,只查询给定范围的实体类。

如果想知道总共有多少页,就必须触发一个额外的count查询

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文