SSH中分页问题

没用getHibernateTemplate()方法之前的方法:

Query query=getSession().createQuery(queryString);
query.setFirstResult((currentPage-1)*lineSize);
query.setMaxResults(lineSize);
return query.list();

可是这样的分页方法在SSH中好像很低,不应说是很低,应该是极低啊,我用这种方法分页后,总共有三页,

可是我浏览了一下页面当第四次点击页面浏览的时候就卡死了!当时真是郁闷啊!


解决方案:
现在我的DAO既然继承了HibernateDaoSupport,HibernateDaoSupport中有getHibernateTemplate()方法,可以通过getHibernateTemplate()方法实现分页这样效率会高一点

public List findXXX(final int  linesize,final int currentpage) 
 {         //linesize每页显示记录数,currentpage当前页
  return getHibernateTemplate().executeFind(new HibernateCallback() 
  {     
   public  Object  doInHibernate(Session  s)  throws HibernateException,  SQLException 
   {   
    Query  query  =  s.createQuery("from Liu order by id desc"); 
    query.setFirstResult((currentpage-1)*linesize);   
    query.setMaxResults(linesize);   
    List list  = query.list(); 
    return list;     
    }  
   });   
 }


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lgq_0714/archive/2009/06/14/4268176.aspx

posted @ 2010-02-02 21:57  Talo  阅读(323)  评论(0)    收藏  举报