分页的SQL语句
mysql数据库,可以采用limit语句进行分页。
oracle数据库,可以采用rownum的方式进行分页。
JFinal自带分页
对象.dao.paginate(pageNumber,pageSize,select,sqlException)
//pageNumber 第几页
//pageSize 一页几条记录
controller的某个方法:
[java] view plain copy
1.int pageNumber; //p为指定跳转的页面
2. if(getParaToInt("pn")==null) //前端通过pn传参
3. int pageSize; //指定每一页的显示数量
4. if(getParaToInt("ps")==null) //对一页的数量的参数进行处理
5.
6. Page<Order> list4 = Order.dao.paginate(pageNumber, pageSize,"select *", "from scjhgl_xsdd"); //所有订单
7. int x=list4.getTotalPage(); //共展示的页数
8. int y=list4.getPageSize(); //页码的大小
9. int z=list4.getTotalRow(); //数据库中数据总共的条数
10.
11. String skip="";
12. for(int q=1;q<=x;q++)
13. {
14. skip=skip+"<a href=\"scjhgl/index?pn="+q+"&ps="+y+"\">"+q+"</a>" ; //循环把链接输出 1 2 3 ,  空格,传ps参数是避免修改pageSize后恢复页面数改变
15. }
16. setAttr("iteration4", list4); //设置iteration4集合供前端页面获取数据库数据
17. setAttr("pn",pageNumber); //当前页面号供前端获取
18. setAttr("TotalPage",x);
19. setAttr("PageSize",y);
20. setAttr("TotalRow",z);
21. setAttr("skip",skip); //数字链接
22. renderFreeMarker("ddxi.html");
前端如果使用的是jsp页面可以如下显示:
[java] view plain copy
1.<div class="pull-right">
2. <div class="dataTables_paginate paging_simple_numbers" id="dynamic-table_paginate">
3. <ul class="pagination">
4. <li><a href="scjhgl/index?pageNumber=${iteration4.pageNumber>1?iteration4.pageNumber-1:1}">上一页</a></li>
5. <c:forEach begin="1" end="iteration4.totalPage" varStatus="page">
6. <c:choose>
7. <c:when test="iteration4.pageNumber==page.index">
8. <li class="active"><a href="scjhgl/index?pageNumber=${page.index}">${page.index}</a></li>
9. </c:when>
10. <c:otherwise>
11. <li><a href="scjhgl/index?pageNumber=${page.index}">${page.index}</a></li>
12. </c