Hibernate分页问题
时间:2008-08-30 12:00:57
来源:论坛整理 作者: 编辑:chinaitzhe
public List findAllSearch(int pageNo , int pageSize){
Session session = this.getSession() ;
Query query = session.createQuery("from test") ;
int firstResultIndex = pageSize*(pageNo-1) ;
query.setFirstResult(firstResultIndex) ;
query.setMaxResults(pageSize) ;
return query.list() ;
}
在servlet中调用
try {
request.setAttribute("all", new Hibernate().findAllSearch(1, 5));
} catch (Exception e) {
e.printStackTrace() ;
}finally{
HibernateSessionFactory.closeSession() ;
}
在jsp中
<body>
This is my JSP page. <br>
<jsp:include flush="true" page="servlet/Servlet"/>
<table>
<c:forEach items="${requestScope.all}" var="o">
<tr>
<td>${o.name } </td>
</tr>
</c:forEach>
</table>
</body>
怎么控制上一页和下一页??
网友回复:List <Project> list = null;
if (pageindex < 0 ¦ ¦ pagesize < 0)
return list;
try {
int startIndex = (pageindex - 1) * pagesize 1;
Query query = session.createQuery("from Project p where p.statusFlag!=9 order by p.createtime desc");
query.setFirstResult(startIndex - 1);
query.setMaxResults(pagesize);
list = query.list();
} catch (DataAccessException e) {
e.printStackTrace();
list = null;
}
return list;
网友回复:
网友回复:不明白!jsp页面怎么传值?
网友回复:如果数据量不大的话可以把一次查到的数据全放在一个session里,然后从第二页开始重新写一个action专门用来处理分页(也就是处理点击上一页下一页的action),第一页我觉得肯定要放在页面的action里处理的!数据量大的话可以根据页码来分次查询数据库!
关键字:问题,
上一篇:NHibernate问题
下一篇:下面没有链接了











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面