分页的封装——java实现(基于oracle)

    分页功能(Pagenation类)

 

分页功能的 封装 + 实现:

分页的SQL语句 + 分页工具类Pagenation的细节 + 分页原理

 

一、     分页的SQL语句:

select * from (selectt.*,row_number() over(order by ROWNUM ASC) rn from goods t) where rn>=? andrn<=?

Ø  goods :为表名,数据从goods中查得

Ø  第一个? :起始行号

Ø  第二个? :终点行号

 

二、     分页工具类Pagenation的细节:

Pagenation类:类似JavaBean的工具类,封装了分页后的细节,

主要作用:封装后台分页细节,前台调用分页细节。

简介:实例化时需要传入3个参数,然后类内部计算得到所有分页细节

注意:后期还需要调用setList()方法将分页结果也存入其中。

用法:后台用此类封装分页结果,request给前台,前台展示。

传入参数:当前页数(pageNum)+每页大小(size)+记录总行数(rowCount)

 

三、     分页原理:

1.    后台sevlet根据参数调用分页service()方法,返回值一个Pagenation类的对象,封装了当前要求的分页信息;

2.    service()方法处理过程:根据传入的三个参数,初始化Pagenation类,然后调用dao包下的分页查询类,返回值为一个List,将这个List也存入Pagenation对象中,返回返回该对象;

3.    返回的Pagenation对象包含了有关分页所有内容,将此对象放在request中传到前台,跳转到前台;

4.    在前台中取出Pagenation的相关信息,此时的Pagenation对象中存放着分页信息,用EL和JSTL显示分页信息。

 

四、     代码实现:

1.    分页工具类(核心中的核心类):

 

2.    其他代码:

(1)、前端展示代码:

package com.test.util;

import java.util.List;

/**
 * Pagenation分页工具类:用于数据的分页
 * 根据传入的pageNum参数来确定从哪页开始分页
 * 根据传入的size参数确定每页分多少条记录
 * 根据传入的rowCount参数来确定数据总条数
 * @author Alvin Xing
 */
public class Pagenation {

/* 指定的参数 */
private int pageNum;  //当前页号
private int size;  //页

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值