1.The Pager.java
package com.music.util.pager;
import java.util.ArrayList;
import java.util.List;
//分页 戚拂晓 2011.2.24
public class Pager {
//页面大小
private Integer[] pageSizeList={10,15,25,50,100,200,300,500};
//一页显示的记录数
private Integer pageSize = 25;
//当前页码
private Integer pageNo= 1;
//记录总数
private Integer rowCount=0;
//总页数
private Integer pageCount=1;
//起始行数
private Integer startIndex = 1;
//结束行数
private Integer endIndex=1;
private Integer firstPageNo=1;
private Integer prePageNo=1;
private Integer nextPageNo=1;
private Integer lastPageNo=1;
@SuppressWarnings("unchecked")
private List resultList;
@SuppressWarnings("unchecked")
public Pager(Integer pageSize,Integer pageNo,Integer rowCount,List resultList){
super();
this.pageSize = pageSize;
this.pageNo = pageNo;
this.rowCount = rowCount;
this.resultList = resultList;
if(rowCount%pageSize==0)
this.pageCount = rowCount/pageSize;
else
this.pageCount = rowCount/pageSize + 1;
this.startIndex = pageSize*(pageNo-1);
this.endIndex = this.startIndex + resultList.size();
this.lastPageNo = this.pageCount;
if(this.lastPageNo==0){
this.lastPageNo=1;
}
if(this.pageNo>1)
this.prePageNo = this.pageNo-1;
if(this.pageNo==this.lastPageNo)
this.nextPageNo = this.lastPageNo;
else this.nextPageNo=this.pageNo+1;
}
//输出每页显示记录数的数值列表
@SuppressWarnings("unchecked")
public Object[] getPageSizeIndexs(){
List result = new ArrayList(pageSizeList.length);
for(Integer i=0;i<pageSizeList.length;i++){
result.add(String.valueOf(pageSizeList[i]));
}
Object[] indexs = (result.toArray());
return indexs;
}
//用于输出页码数值列表
@SuppressWarnings("unchecked")
public Object[] getPageNoIndexs(){
List result = new ArrayList(pageCount);
for(Integer i=0;i<pageCount;i++){
result.add(String.valueOf(i+1));
}
Object[] indexs = (result.toArray());
return indexs;
}
public Integer[] getPageSizeList() {
return pageSizeList;
}
public void setPageSizeList(Integer[] pageSizeList) {
this.pageSizeList = pageSizeList;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public Integer getPageNo() {
return pageNo;
}
public void setPageNo(Integer pageNo) {
this.pageNo = pageNo;
}
public Integer getRowCount() {
return rowCount;
}
public void setRowCount(Integer rowCount) {
this.rowCount = rowCount;
}
public Integer getPageCount() {
return pageCount;
}
public void setPageCount(Integer pageCount) {
this.pageCount = pageCount;
}
public Integer getStartIndex() {
return startIndex;
}
public void setStartIndex(Integer startIndex) {
this.startIndex = startIndex;
}
public Integer getEndIndex() {
return endIndex;
}
public void setEndIndex(Integer endIndex) {
this.endIndex = endIndex;
}
public Integer getFirstPageNo() {
return firstPageNo;
}
public void setFirstPageNo(Integer firstPageNo) {
this.firstPageNo = firstPageNo;
}
public Integer getPrePageNo() {
return prePageNo;
}
public void setPrePageNo(Integer prePageNo) {
this.prePageNo = prePageNo;
}
public Integer getNextPageNo() {
return nextPageNo;
}
public void setNextPageNo(Integer nextPageNo) {
this.nextPageNo = nextPageNo;
}
public Integer getLastPageNo() {
return lastPageNo;
}
public void setLastPageNo(Integer lastPageNo) {
this.lastPageNo = lastPageNo;
}
@SuppressWarnings("unchecked")
public List getResultList() {
return resultList;
}
@SuppressWarnings("unchecked")
public void setResultList(List resultList) {
this.resultList = resultList;
}
}
2.按属性分页查询
@SuppressWarnings("unchecked")
public Pager pageLoad(final Integer pageNo, final Integer pageSize) {
int rowCount = 0;
Number number = (Number) this.hibernateTemplate.iterate("select count(*) from WebArticle").next();
rowCount = number.intValue();
System.out.println(pageNo);
System.out.println(rowCount);
List log = getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
int startIndex = pageSize * (pageNo-1);
Query query = session.createQuery("from WebArticle order by updatetime desc");
query.setFirstResult(startIndex);
query.setMaxResults(pageSize);
List result = query.list();
return result;
}
});
return new Pager(pageSize, pageNo, rowCount, log);
}
分享到:
相关推荐
Query对象新增加了一个属性Objectids,用于指定执行查询的objectid的范围,这就使我们可以根据executeForIds()得到的每一夜的Objectids去执行查询,实现分页查询。例如,以下代码所示: ``` public function ...
DisplayTag分页及属性
vue 分页 轮播
分页按钮属性效果 使用自定义信息区 居中当前页索引按钮 Repeater分页 DataList分页 Url分页 使用Url重写技术 Url逆向分页 N层结构应用 使用XML文件数据源 图片浏览示例 使用AccessDataSource 使用SqlDataSource ...
通用查询页面中的查询项、查询出的分页列表都是自动生成的。开发简便、快速,附件中是一套完整的demo和使用说明 支持全部Hql语法格式 Awake 后续功能扩展 1.XML格式数据输出,保证了ajax用户也可以使用Awake框架...
该类包括两个属性:TotalCount 保存总个数,IReadOnlyList<T> Items 保存返回的分页结果集。 为了实现分页功能,我们需要定义一个 DTO(Data Transfer Object),用于传输分页请求参数。DTO 是一个轻量级的对象,...
这个paginator对象中带有如下属性: #per_page:每页显示条目数量 #count:数据总个数 #num_pages:总页数 #page_range:总页数的索引范围,如:(1,10),(1,200) #page:page对象 view.py #先导包 from django....
Bootstrap-table插件提供了非常丰富的属性设置,可以实现查询、分页、排序、复选框、设置显示列、Card view视图、主从表显示、合并列、国际化处理等处理功能,而且该插件同时也提供了一些不错的扩展功能,如移动行、...
基于DisplayTag的分页及属性定制
.net分页及分页样式 DIV+CSS分页
学习到的一个分页源码,共享给大家: Repeater分页 DataList分页 Url分页 ...查询结果分页 查询结果Url分页 克隆属性及事件 页索引输入/选择框 自定义导航按钮 在用户控件中实现分页 Asp.net Ajax支持
这个是我在项目中用到的,附件中是源码,有需要的可以根据自己的需求进行改进,项目中引用“WinformPager.dll”这个动态库就可以在工具栏中看到该控件了,下面是大概的用法,希望对你有用。控件保证能用,不会用的...
下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库...
js实现的无刷新分页,同时实现了列表无刷新排序,tip显示
XML分页排序数据岛 将后台绑定的数据源,绑定到属性,再通过xml绑定到前台
本文实例为大家分享了微信小程序云开发实现数据添加、查询和分页,供大家参考,具体内容如下 实现的效果 实现要点 WXML 不同类别数据的显示 通过 if-elif-else 实现,在wxml文件中通过 <block></block>渲染,因为它...
基于mybatis做的高级查询和分页。里面包含了mybatis的基础部分,和简单的servlet。注释也写的非常清楚。
把在页面上的分页操作,在java类用一个对象封装,并且把整个分页的html标签封装在这个对象的String类型的属性里,在需要分页的地方,直接从后台取得这个对象,并把对象中的字符串用页面的内置out对象写到页面上,...
3、 要使用AspNetPager 要为其设置最基本的属性 使用 SqlServer Northwind数据库的 Products表 protected Wuqi.Webdiyer.AspNetPager AspNetPager1; protected System.Web.UI.WebControls.Label Label1; protected ...
Mybatis-Servelt+JSP+Mybatis 分页实战(取PageInfo的属性完成).zip