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

Mybatis如何分页?

张鸿志
2023-03-14
问题内容

我目前正在开发一个电子商务应用程序,其中必须使用搜索功能显示可用产品的列表。

与每次搜索一样,我必须在此处实施分页。

我使用mybatis作为我的ORM工具,使用mysql作为基础数据库。

谷歌搜索我发现以下方法来完成此任务:

  1. 客户端分页 :在这里,我必须一口气从数据库中检索与搜索条件匹配的所有结果,并在我的代码级别(可能是最终代码)处处理分页。

  2. 服务器端分页 :使用mysql,我可以使用Limit和结果集的偏移量来构造一个查询,例如: SELECT * FROM sampletable WHERE condition1>1 AND condition2>2 LIMIT 0,20

在这里,每次用户在浏览搜索结果时选择一个新页面时,我都必须传递偏移量和限制数。

谁能告诉,

  1. 哪种是实现分页的更好方法?
  2. Mybatis是否支持一种更好的实现分页的方法,而不仅仅是依靠上述SQL查询(例如hibernate标准API)。

高度评价任何投入。谢谢 。


问题答案:

我自己在sql查询中使用带有LIMIT的第二个选项。

但是,有许多方法支持使用RowBounds类进行分页。这是很好的MyBatis文档中描述这里

注意正确使用的结果集类型。



 类似资料:
  • MyBatis 的分页功能是基于内存的分页,即先查询出所有记录,再按起始位置和页面容量取出结果。 本节我们为查询网站记录增加分页功能,要求结果列表按照 id 升序排列(本节示例基于《 第一个MyBatis程序》一节的代码实现)。 WebsiteMapper 中方法如下。 相比原来的 selectWebsite 方法,增加了两个参数,起始位置(from)和页面容量(pageSize),用于实现分页查

  • 问题背景 之前做springboot项目在操作数据库方面一直在使用的是Mybatis,最近在查阅资料的时候接触到了SpringData JPA与SpringData JDBC,想问一下大佬们,这三个框架如何选型

  • 本文向大家介绍Mybatis 是如何进行分页的?分页插件的原理是什么?相关面试题,主要包含被问及Mybatis 是如何进行分页的?分页插件的原理是什么?时的应答技巧和注意事项,需要的朋友参考一下 Mybatis 使用 RowBounds 对象进行分页,它是针对 ResultSet 结果集执行的内存分页,而非物理分页。可以在 sql 内直接书写带有物理分页的参数来完成物理分页功能,也可以使用分页插件

  • 本文向大家介绍Spring Boot+Mybatis+Pagehelper分页实现,包括了Spring Boot+Mybatis+Pagehelper分页实现的使用技巧和注意事项,需要的朋友参考一下 Spring Boot 集成MyBatis和Pagehelper分页插件 mybatis-spring-boot-starter依赖树如下: pom配置 application.properties配

  • 问个基础问题噻 这个in该怎么写,怎么给参数好? PointsMapper.java里

  • 本文向大家介绍Mybatis实现分页的注意点,包括了Mybatis实现分页的注意点的使用技巧和注意事项,需要的朋友参考一下 前面的话:使用拦截器给Mybatis进行分页的教程在网上有很多,这里记录的主要是我在使用的时候中间走的弯路,记录下来,也好给后面想要学习Mybatis分页拦截的小伙伴们提供点帮助。 1. 拦截器获取参数,判断是否有Page类 1) 使用ThreadLocal 获取 2) 从b