java--分页查询接口设计及分页器的实现

本文介绍了分页技术的三种类型:客户端分页、数据库分页和服务端分页,分析了各自的优缺点。重点讲解了服务端分页,并提供了一个简单的Java分页器实现,包括默认页数、当前页数据、总页数、开始页和结束页的计算逻辑。
摘要由CSDN通过智能技术生成
               

1.分页技术的分类

  1. 客户端分页:直接将全部的数据或多页结果数据一次性返回给客户端,客户端通过展现组件进行数据分页的控制。
  2. 数据库分页:数据查询时,数据库仅返回一页数据给客户端。
  3. 服务端分页:从数据库返回全部或多页的数据,在服务端缓存多页的数据,但只是返回一页数据给客户端。

 

2.各分页技术的优缺点:

  1. 客户端分页:可以减小和服务器交互的次数,,在进行分页切换时,直接从客户端的缓存中获取数据,无须和服务端进行再次交互,提高了系统交互性,但是会增加第一次交互的负荷。
  2. 数据库分页:要求每次切页时都要访问数据库,这样一来增加了数据库访问的并发性,但是每次从数据库返回的数据较少,当再次交互的负荷减轻。
  3. 服务端分页:在客户端与数据库之间寻求平衡,它既减少了数据库访问的并发性,同时使服务端返回给客户端的当次负荷也比较,但是服务端分页技术需要考虑数据缓存、数据同步等问题,提高了系统的复杂性。

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;/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值