当前位置:编程学习 > JAVA >>

做好分页点击上一页,下一页,首页,尾页都很快,几次过后很卡,请大家给看看

--------------------------------------PageBean里面的几个选择页面------------ 
//转到首页
public void first() {
currentPage = 1;
startRow = 0;
}
//转到上一页
public void previous() {
if (currentPage == 1) {
currentPage = 1;
startRow = (currentPage - 1) * pageSize;
}else{
currentPage--;
startRow = (currentPage - 1) * pageSize;}
}
//转到下一页
public void next() {
if (currentPage < totalPages) {
currentPage++;
startRow = (currentPage - 1) * pageSize;
}else{
currentPage = currentPage + 1;
currentPage = currentPage - 1;
startRow = (currentPage - 1) * pageSize;
}

}
//转到尾页
public void last() {
currentPage = totalPages;
startRow = (currentPage - 1) * pageSize;
}
//设置当前页
public void refresh(int _currentPage) {
currentPage = _currentPage;
if (currentPage > totalPages) {
last();
}
}
--------------dao里的两个查所有值的方法和分页查询方法-------------------------
public List findAll() {
log.debug("finding all Demo instances");
try {
String queryString = "from MyDemo";
List list = getHibernateTemplate().find(queryString);
return list;
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
}
public List findByPage(int startRow,int pageSize){
log.debug("find alldemo");
Session session = this.getSession() ;
try {
Query query = session.createQuery("from MyDemo"); 
query.setFirstResult(startRow);
query.setMaxResults(pageSize);
return query.list();
} catch (RuntimeException e) { 
log.error("findall failed",e);
throw e;
}
}
--------------------------控制器里的方法-------------------------------
public String findall(HttpServletRequest request,
HttpServletResponse response,ModelMap model){

List list = demo1Service.getall();
int totalRows = list.size();
PageBean pageBean = PagerHelper.getPager(request,totalRows);
List mylist = demo1Service.findByPage(pageBean.getStartRow(),pageBean.getPageSize()); request.setAttribute("demolist", mylist);
request.setAttribute("pageBean", pageBean);
return "showlist";
}

---------------------------------------------
不会报错,就是开始几次点击上一页,下一页,首页,尾页都很快,几次过后很卡,请大家给看看

--------------------编程问答-------------------- 来人帮忙啊 --------------------编程问答-------------------- 有点奇怪。。不过想再提高一下性能还是可以,开始只要用hql语句把count(model)总条数查出来,不用把全部数据取出 --------------------编程问答-------------------- 你用session对象干啥
--------------------编程问答-------------------- 清除session缓存
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,