1.分页技术的分类
- 客户端分页:直接将全部的数据或多页结果数据一次性返回给客户端,客户端通过展现组件进行数据分页的控制。
- 数据库分页:数据查询时,数据库仅返回一页数据给客户端。
- 服务端分页:从数据库返回全部或多页的数据,在服务端缓存多页的数据,但只是返回一页数据给客户端。
2.各分页技术的优缺点:
- 客户端分页:可以减小和服务器交互的次数,,在进行分页切换时,直接从客户端的缓存中获取数据,无须和服务端进行再次交互,提高了系统交互性,但是会增加第一次交互的负荷。
- 数据库分页:要求每次切页时都要访问数据库,这样一来增加了数据库访问的并发性,但是每次从数据库返回的数据较少,当再次交互的负荷减轻。
- 服务端分页:在客户端与数据库之间寻求平衡,它既减少了数据库访问的并发性,同时使服务端返回给客户端的当次负荷也比较,但是服务端分页技术需要考虑数据缓存、数据同步等问题,提高了系统的复杂性。
3.分页器的实现
package com.jackfrued.domain;
import java.util.Collections;
import java.util.List;
public class Page<T> {
private static final int DEFAULT_SIZE = 10;//默认页数
private int currentPage;//当前页的数据
private List<T> data;//存放当前页中的数据
private int totalPage;//总记录数
private int beginPage;//开始页
private int endPage;/