`
退役的龙弟弟
  • 浏览: 446117 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

分页操作

 
阅读更多

1.使用hibernate

(1)定义变量-页面传递当前页数
private int currentPage=1;
private int pageSize = 10;
//记录数
public int totalCount;
//页数 
public String page;
//总页数
public String totalpage;
        
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public String getTotalpage() {
	return totalpage;
}
public void setTotalpage(String totalpage) {
	this.totalpage = totalpage;
}

 

(2)数据库操作

	/**
	 * 方法取自SpringSide. 创建Query对象.
	 * 对于需要first,max,fetchsize,cache,cacheRegion等诸多设置的函数,可以在返回Query后自行设置.
	 * 留意可以连续设置,如下:
	 * 
	 * <pre>
	 * dao.getQuery(hql).setMaxResult(100).setCacheable(true).list();
	 * </pre>
	 * 
	 * 调用方式如下:
	 * 
	 * <pre>
	 * 
	 *        dao.createQuery(hql)  
	 *        dao.createQuery(hql,arg0);  
	 *        dao.createQuery(hql,arg0,arg1);  
	 *        dao.createQuery(hql,new Object[arg0,arg1,arg2])
	 * </pre>
	 * 
	 * @param values
	 *            可变参数.
	 */
	public Query createQueryByPage(String hql,int currentPage,int pageSize, Object... values) {
		Query query = getSession().createQuery(hql);
		for (int i = 0; i < values.length; i++) {
			query.setParameter(i, values[i]);
		}
		query.setFirstResult((currentPage - 1) * pageSize);
		query.setMaxResults(pageSize);
		return query;
	}

 (3)可以使用这个方法查询

public List<LocalFileTaskUser> getTaskUserList(int currentPage,int pagesize) {
		List<LocalFileTaskUser> taskUserList=null;
		try {
			String hql=" FROM LocalFileTaskUser where fldIsClientUser='0'";
			taskUserList = super.createQueryByPage(hql, currentPage, pagesize).list();
		} catch (HibernateException e) {
			e.printStackTrace();
		}	
		return taskUserList;
	}

 

2、使用索引值

public List<TblDtiTaskInfo> dtiListPage(List<TblDtiTaskInfo> list, int currentPage, int pageSize) {
		int row_index = (currentPage - 1) * pageSize;// 将页数索引换算为行索引值。
		//假如列表为空的情况
		if (list == null || list.size() == 0) {
			return new ArrayList<TblDtiTaskInfo>();
		}
		//分页有问题
		int len = list.size();//列表的长度、
		if (row_index < len && (row_index + pageSize) <= len) {
			return list.subList(row_index, row_index + pageSize);
		}
		if (row_index < len && (row_index + pageSize) > len) {
			return list.subList(row_index, len);
		}
		return null;
	}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics