javaWeb(分页)

本文详细介绍了如何实现数据库的分页查询,包括计算总页数的算法,使用Oracle的rownum伪列构造分页SQL,以及如何处理当前页的确认和首页、末页的控制。此外,还展示了在JSP中展示分页链接的示例代码。
摘要由CSDN通过智能技术生成

分页显示的步骤

一.确定分页页数

1. 获取总记录数

2. 根据每页显示记录数与总记录数计算总页数

public int getTotalPages(int count, int pageSize){
    	int totalpages =0; 
    	totalpages =
                      (count%pageSize ==0)?(count/pageSize):(count/pageSize+1);
    	return totalpages;
}

二.分页SQL语句

1.伪列-rownum

① 由Oracle数据库表示自动创建

② 表示每一行记录的行号

2. 使用三层嵌套方式编写SQL

① 最内层:查询所有记录

② 中间层: 通过rownum的限定查询数量的上限

③ 最外层: 通过rownum的限定查询数量的下限

按时间排序后,显示第6-10条数据

String sql = "select * from (select rownum as r, t.* from ("+
"select news.* from news order by ncreatedate desc) t"+
" where rownum<=10) where r>5"

三.当前页的确认

1.获取当前页

思路:如果获取的页码为null,则设置当前页为首页,如果获取的页码不为null

则该页即为当前页码

//获取当前页
String currentPage = request.getParameter("pageIndex");
if(currentPage == null){
     currentPage = "1";
}    
int pageIndex = Integer.parseInt(currentPage); 

四.分页设置的实现

根据已确认的当首页,设置上页和下页

根据总页数设置首页和末页

 <a href="news_list.jsp?pageIndex=1">首页</a>&nbsp;
 <a href="news_list.jsp?pageIndex=<%= pageIndex -1%>">上一页</a>
 <a href="news_list.jsp?pageIndex=<%= pageIndex +1%>">下一页</a>
 <a href="news_list.jsp?pageIndex=<%=totalpages%>">末页</a>

五.首页和末页的控制

String currentPage = request.getParameter("pageIndex");
if(currentPage == null){
       currentPage = "1";
}    
int pageIndex = Integer.parseInt(currentPage);
//对首页与末页进行控制
if(pageIndex < 1){
       pageIndex = 1;
}else if(pageIndex > totalpages){
       pageIndex = totalpages;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值