首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何优雅地实现分页查询

实现分页功能有很多种方式,如果使用的ORM框架是mybatis的话,有开源的分页插件可以使用,如:Mybatis-PageHelper。...如果不使用分页插件,那么就需要手动分页了,由于不同的数据库实现分页的SQL语句并不一致,如Mysql使用的是limit关键字,而Oracle使用的是rownum,所以本文本文讲解的分页方案只适用于Mysql...因此分页操作往往需要先对数据进行排序,然后再加上分页条件。我们讲的第一种方案是基于limit的分页方案,也是很多分页插件使用的分页方案。我们先来看看我们的测试数据。...基于limit实现分页是比较简单的: mysql> select * from user order by id asc limit 10000,10; +-------+------------+ |...使用limit实现分页功能使用起来非常简单,但是有没有什么问题呢? 我们先来回顾一下前面说的分页需要满足的2个要素:有序性和不重复。

1.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mybatis分页查询(通过SQL分页实现

    Mybatis分页查询(通过SQL分页实现) 前言 实现有哪几种方式: 网页分页 (一次查询所有数据,加载到网页,那么适合数量小的操作) 服务器端分页 java程序中查询所有数据,网页需要哪一页...,就给哪一页数据,会撑爆java服务器,建议查询缓存优化 数据库分页 请求一页数据,查询数据库即可 本文采用Oracle中的rownum实现分页,数据表使用Oracle中Scott的EMP表...* @param pageUtil * @return */ public List selectEmpByPage(PageUtil pageUtil);} 四、分页工具类 PageUtil.java...return pageNums; } public void setPageNums(int pageNums) { this.pageNums = pageNums; } } 五、SQL实现分页...-- /** * 分页查询 * @param pageUtil * @return */ --> <select id="selectEmpByPage" parameterType

    2.9K20

    实现滑动分页(微博分页方式)

    现在大家都在上微博,而微博的滑动分页引起了我的兴趣,于是自己模仿着做,以下是这段时间的成果(单纯实现,没有考虑到效率和其他细节问题)   实现内容:以30条记录为一页,每页分三次显示,每当把滚动条拖动到离浏览器底部...如果数据加载失败,显示重新加载连接,实现用户手动重新加载数据。  ...2.分页用System.Web.UI.WebControl下的PagedDataSource十分省心,但本次实现没有考虑效率问题所以出现重复操作xml文件的情况,实际项目中应避免哦!...注意:用PagedDataSource进行分页要把其属性AllowPaging设为true,不然得不到分页效果。   ...如有更好的实现方法和改进的方式,请大家指教^_^

    1.3K90

    SSM框架——实现分页和搜索分页

    分页是Java Web项目常用的功能,昨天在Spring MVC中实现了简单的分页操作和搜索分页,在此记录一下。使用的框架为(MyBatis+SpringMVC+Spring)。...首先我们需要一个分页的工具类: 1.分页 import java.io.Serializable; /** * 分页 */ public class Page implements...return */ public long getProductsCount(@Param(value="userId") Integer userId); 接口定义完成之后需要编写相应的业务接口和实现方法...,在接口中定义这样一个方法,然后实现类中覆写一下: /** * 分页显示商品 * @param request * @param model * @param...使用GET方式传参),然后将其加入到SESSION中,即可完成查询分页(此处由于“下一页”这中超链接的原因,使用了不同的JSP页面处理分页和搜索分页,暂时没找到在一个JSP页面中完成的方法

    1.7K40

    面试题-分表+分页+OrderBy如何实现

    "分表后分页",在之前的文章里提过这个点,但是不够详细,最近笔者在工作也遇到了类似的问题,详细的说下这个过程如何实现。...场景:后台系统中的一个订单分页查询功能,乍一看很简单嘛,但是这张订单表分了3张表,分表键是用户标识,比如需要查询第二页的内容并且按照升序排序,该怎么实现呢?...数据都在1表或都在2表、2表,极端情况 数据在1,2,3表完全一致,极端情况 数据在1,2,3表各自包含一部分,这也是最常见的情况 ---- 【假设】一页10条数据,查询第二页的数据,未分表时的实现...: select * from order order by create_time asc limit 10,10; 【假设】分了3张表,分表后的实现实现1:全局查询方式 第一步:分表查询...实现1的优点:满足要求,实现简单,数据完整。

    1.5K20

    JS 实现分页打印

    在调用 window.print() 时,可以实现打印效果,但内容太多时要进行分页打印。...其中Auto是默认值,只有在有需要时,才需设定分页符号 (Page breaks)。...page-break-before 若设定成left,则会插入分页符号,直到指定的组件出现在一个左边的空白页上。...page-break-before 若设定成right,则会插入分页符号,直到指定的组件出现在一个右边的空白页上。 page-break-after 属性会将分页符号加在指定组件后,而非之前。...如果必要则在元素前插入分页符 always 在元素前插入分页符 avoid 避免在元素前插入分页符 left 在元素之前足够的分页符,一直到一张空白的左页为止 right 在元素之前足够的分页符,一直到一张空白的右页为止

    14.1K21
    领券