没用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;
}
});
}