分页插件的实现与核心思想

前言:该本页插件需要对Mybatis框架的底层源码有一定的了解,可以看另一篇关于Mybatis四大内置对象的源码解读。

尽管如今有许多成熟被广泛使用的分页插件,本篇文章在实现分页插件的同时,更侧重实现原理与思想思路,为我们在实际开发中遇到困难时提供一个解决问题的思路和参考

一、为什么需要分页插件

在实际开发的过程中,我们存在后台数据库的信息资料是需要展示给用户观看的,但数据量一旦过大,如果集中全部展示出来给用户看,就会造成一种凌乱不规整的不良视觉效果,这个时候就需要对我们需要展示给用户的资料信息进行整理,以用户的舒适度为前提,再展示出来。

二、分页插件的好处

  1. 提高性能,减少内存的压力(减低宽带使用,提高访问速度),一次查20个,比一次查20000个性能肯定更好;另外如果数据量很大,一次性将内容都查询出来,查询出来的结果是放在内存里面的,严重损耗内存。

  1. 根据用户的需要,提供适当的数据。如新闻,一般人可能只看最近前20条;如果我们将后面的也都查询出来了,就是浪费时间与资源。

  1. 查询效率快,因为只显示每页的条数,而不是把所有的数据加载出来,另外页面好看,比如几十万的数据,你不分页会把页面撑爆

三、分页插件的问题与思路

众所周知,分页的最重要的两个数据是展示数量以及页码,这个是由客户端决定的,我们后台无法进行操控,就需要客户端告诉我们这些信息,从而根据客户端需求进行分页数据的展示。而我们如何接收前端的请求的同时,既需要能够知道客户端是否需要分页需求,又要降低代码的侵入性(因为分页的需求并不是所有客户发送过来的请求都需要,如果所有接口都接收分页数据,容易造成接口污染),这是需求侧重解决的一个问题。尤其在分布式开发中,这种情况会变得更复杂。

1.个人思路解析图:

2.最原始的分页手段面临的问题:

在最原始的处理分页手段中,需

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值