写了一个hibernate分页查询,设置了:
query.setFirstResult(first);
query.setMaxResults(10);
第一页返回的集合是10条,到后面每翻一页,返回的list集合都是累加10条记录。但是页面上显示的又是正确的,所以很不解????
下面是jsp上显示的代码:
${sks.cmdId}
${sks.objType}
${sks.objName}
${sks.cmdFile}
${sks.createDate}
/c:forEach
String hql = "from XXXXXXXXXXXX";
Query query = session.createQuery(hql);
query.setCacheable(true);
List result = query.setFirstResult(start).setMaxResults(limit).list();
hql语句自己写;
传值:start,limit
方法没错吧。可能是你传值错了。DEBUG一下。
query.setFirstResult(first); :是首记录位置,一般计算规则是: (页码-1)* 每页记录数
query.setMaxResults(10);
为什么页面能正常显示呢》
<c:forEach begin="0" end="${pagingUtil.pageSize-1}"
你这里 begin表示循环索引从0开始,end表示结束索引(pagingUtil.pageSize-1 = 9)
即只循环集合的0-9