我目前是在重新做项目,做自己的集成,有些东西只有自己过一遍之后才能明白,而不是单纯的做码农,从别人的地方抄一段代码过来,能用就行,我感觉程序员不应该是这样子的,废话不多说,我今天主要是梳理一下分页,以及如何做分页。水平有限,各位看官见谅。
分页查询作为数据库交互最常用的几种操作之一,在日常开发中是非常常见的,比如前段请求需要一个分页的列表,往往有两种方式,
1.是把所有的数据都给到前段,前段分页。
2.是前端通过传分页信息给后端,后端查询时进行分页,并将相应页的数据返给前端。
第一种方式如果数据规模比较小的情况下可以使用,如果数据量较大,对内存、网络传输的消耗都是非常大的,所以实际开发中一般很少使用
第二种方式是后端进行分页,后端分页的实现又可以分为逻辑分页和物理分页,
逻辑分页就是在进行数据库查询时一次性将数据查出来,然后将相应页的数据挑出返回,
物理分页就是通过在查询时就查询相应的页的数据(比如直接在mysql查询语句添加limit)。
很明显逻辑分页跟第一种前端分页的方式有着相同的弊端。
我们确认使用后端分页,且通过物理分页的方式做,这种方式能够减少内存和网络传输的消耗
一般后端会有一个公共的工具类(分页类)用来存储分页信息,字段包括
pageNo:当前页码
pageSize:每页显示的条数
total:总数量
rows:保存查询出来的数据,类型一般为List
前端会将分页信息传导后台一般来说会传递当前页面,或者要跳转的页码,同时传递每页要显示的条数
参考https://blog.csdn.net/weixin_41835612/article/details/83713846