Java Web分页的实现
AlightYoung 12/28/2019 Pagination
# 分页查询
分页查询是前后端都常见的一个功能,大致可以分为物理分页和逻辑分页。
物理物业:物理分页依赖的是某一物理实体,这个物理实体就是数据库,比如MySQL的limit offset关键字,就可以查询出一个指定的区间。
逻辑分页:逻辑分页就是一次性将数据全部查出来,进行逻辑划分页数与每页的数量。
# 物理vs逻辑
# 1.数据库压力
物理分页每次都访问数据库,逻辑分页只访问一次数据库,物理分页对数据库造成的负担大。
# 2.服务器负担
逻辑分页一次性将数据读取到内存,占用了较大的内容空间,物理分页每次只读取一部分数据,占用内存空间较小。
# 3.实时性
逻辑分页一次性将数据读取到内存,数据发生改变,数据库的最新状态不能实时反映到操作中,实时性差。物理分页每次需要数据时都访问数据库,能够获取数据库的最新状态,实时性强。
# 4.适用场合
逻辑分页主要用于数据量不大、数据稳定的场合,物理分页主要用于数据量较大、更新频繁的场合。
# 实现方式
具体参考代码,后端采用pagehelper(物理),前端采用bootstraptable(逻辑),当让你也可以不使用加载全部数据的逻辑分页,也可以指定数据进行数据展示,看需求吧。
代码参考----传送门 (opens new window)