当前位置: 首页 > 面试题库 >

JPA分页与数字和下一个,上一个

华誉
2023-03-14
问题内容

对于有人问过这个问题,或者提出一个愚蠢的问题,我深表歉意。但是,我是新手,您是专家,我很乐意向您学习专家的建议和经验。

我想将分页添加到每页显示200条记录的应用程序中。页面底部应有数字。如果有1050,则第一页将显示100,而页面底部将显示数字1,2,3,4,5和6。

实现此目的的一般逻辑是什么?我知道数据库每次必须选择200,并且我必须跟踪第一条记录。

  1. 有没有一种方法可以知道总共将返回多少条记录,这样我就可以知道要在页面底部显示多少个数字?是否需要选择count()语句或其他?
  2. 对于1050条记​​录,将显示数字1,2,3,4,5和6,单击每个数字都需要调用服务器。有没有办法知道在下一次调用服务器时将返回多少记录?是否需要选择count()语句或其他?

问题答案:

您可以使用JPA Criteria
API
来完成此任务。假设TypedQuery,您将使用setFirstResultsetLastResult限制从数据库返回的记录。当然,这些方法的值将取决于请求的页面以及每页显示多少记录。

first = (page - 1) * page size;
last = (page * size) - 1;

注意: 这假设第一页为1(而不是零)。

要获取记录计数,您可以执行标准的条件查询。举个例子:

final CriteriaBuilder builder = entityManager.getCriteriaBuilder();
final CriteriaQuery<Long> countQuery = builder.createQuery(Long.class);
countQuery.select(builder.count(countQuery.from(MyEntity.class)));
final Long count = entityManager.createQuery(countQuery)
        .getSingleResult();

您可以自定义上面的代码来执行相对于另一个查询的计数。最后,您需要某种方式将总数传递回客户端。一种方法是将查询的结果集包装在另一个包含计数属性的对象中,或者将其作为DAO调用的结果返回。或者,您可以将count属性存储在请求范围内的对象中。

public class ResultListWrapper<T> {
    private Long count;
    private Collection<T> results;

    // constructor, getters, setters
}


 类似资料:
  • 我非常努力地显示下一个&上一个按钮,不管它是否在我的wordpress主题上处于活动状态。我似乎想不出一个办法来让它工作。我正在尝试这样做:http://www.kinocreative.co.uk/hints-and-tips/wordpress-nextpreview-post-navigation-with-images-and-inactive-links/extracty but for

  • 我找了一整天,但是我找不到任何库或代码来实现这个< code >查看页面动画。我想实现完全像这样(如下图所示)中心图像现在显示图像,前一个和下一个图像将显示在后面。预先感谢请通过分享你的知识帮助我。提前感谢。

  • 我为Wordpress做了一个简单的“posts page”导航,但我找不到一种方法来改变和的行为,使按钮始终可见,而不管显示的是什么页面。 以下是菜单的不同状态: 我知道不显示“上一页”/“下一页”按钮在第一页/最后一页是这个Wordpress功能的预期,但我需要覆盖这一行为,以便在第一页/最后一页分别显示一个灰色的上一页/下一页文本。 如果我能得到任何帮助,我将非常感激。谢谢你 代码如下:

  • 本文向大家介绍asp.net gridview分页:第一页 下一页 1 2 3 4 上一页 最末页,包括了asp.net gridview分页:第一页 下一页 1 2 3 4 上一页 最末页的使用技巧和注意事项,需要的朋友参考一下 效果图: 功能简介:可使用上下键选中行,选中后点击修改,textbox获得gridview中的代码的数据。对你有帮助的话,请记得要点击“好文要顶”哦!!!不懂的,请留言

  • 本文向大家介绍php获取文章上一页与下一页的方法,包括了php获取文章上一页与下一页的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php获取文章上一页与下一页的方法。分享给大家供大家参考。具体方法如下: 今天发现一个站的上一页与下一页出现问题,上一页没有问题但是在下一页是直接到了本频道最新发布的文章了,按原理应该是文章本身ID的前与后的ID才是上下页吧,下面我来与大家详细讲述一下.

  • 问题内容: 有没有类似于.Net 和Java的属性。 问题答案: 使用List接口的方法获取对象。从那里,你可以使用,,,和方法来浏览列表。这是一个使用的非常简单的示例。 示例代码应打印“ A”。