分页


分页样式如:



Jsp文件



第一种

采用Hibernate、Hql分页时,数据库需要的几个关键信息:

     起始索引 fromIndex = (currentPage-1)*pageSize   每次查询最大返回记录数 pageSize

    query.setFirstResult (fromIndex);

    query.setMaxResults (pageSize);



第二种

使用mysql分页时,需要的几个关键信息:

offset:偏移量,也就是起始索引fromIndex = (currentPage-1)*pageSize

n:指定返回的最大记录数   n=pageSize

-- select * from tb limit offset,n;



-------------------------------

用来存放sql查询返回的数据的集合类 List<T>

用来存放分页数据的类设计如下

package com.imooc.page.model;

import java.io.Serializable;
import java.util.List;

public class Pager<T>  implements Serializable{

	private static final long serialVersionUID = 3044938529345238647L;

	private int totalRecord;//[一共多少条记录]	
	private int currentPage;//[当前第几页数据]
	private int totalPage;//[一共多少页记录]	
	private int pageSize;//[每页显示多少条记录]
	
	private List<T> dataList;//[要显示的数据]
	
	/*
	 * 构建 hibernate,HQL/MySQL分页 对象
	 */
	public Pager(int pageSize, int currentPage, int totalRecord, int totalPage,
			List<T> dataList) {
		super();
		this.pageSize = pageSize;
		this.currentPage = currentPage;
		this.totalRecord = totalRecord;
		this.totalPage = totalPage;
		this.dataList = dataList;
	}
	public Pager() {
		super();
	}
	
	public int getTotalRecord() {
		return totalRecord;
	}

	public void setTotalRecord(int totalRecord) {
		this.totalRecord = totalRecord;
	}

	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}

	public int getCurrentPage() {
		return currentPage;
	}

	public int getTotalPage() {
		return totalPage;
	}

	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public List<T> getDataList() {
		return dataList;
	}

	public void setDataList(List<T> dataList) {
		this.dataList = dataList;
	}

	@Override
	public String toString() {
		return "Pager [pageSize=" + pageSize + ", currentPage=" + currentPage
				+ ", totalRecord=" + totalRecord + ", totalPage=" + totalPage
				+ ", dataList=" + dataList + "]";
	}
	
	
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值