jsp 分页查询

刚刚学习jsp,谢了一个oracle数据库分页查询的代码
<%
   int pageSize = 3;
   int rowCount = 0;
   int pageCount = 0;
   int pageNow = 1;
   int beginum=1;
   int endnum=0;
   %>

  <%
   Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
   String url = "jdbc:oracle:thin:@localhost:1521:orcl";
   //为你的数据库的SID     
   String user = "foking";
   String password = "foking";
   Connection conn = DriverManager.getConnection(url, user, password);
   Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
   ResultSet.CONCUR_UPDATABLE);
   String sql = "select count(*) from t_warehousing";
   ResultSet rs = stmt.executeQuery(sql);
   if (rs.next()) {
    rowCount = rs.getInt(1);
    endnum=rowCount;
   }
   if (rowCount % pageSize == 0) {
    pageCount = rowCount / pageSize;
   } else {
    pageCount = rowCount / pageSize + 1;
   }
   

String s_pageNow = request.getParameter("pageNow");

if(s_pageNow!=null)
{ pageNow =Integer.parseInt(s_pageNow);}
 // 判断页面的返回值
  if( pageNow>rowCount/pageSize && rowCount % pageSize == 0)
   {pageNow=rowCount/pageSize;
   }else if(pageNow>rowCount/pageSize && rowCount % pageSize != 0){
   pageNow=rowCount/pageSize+1;
   } 
   else if( pageNow<=0) //当前页面小于等于0是则为第一页
   {pageNow=1;
   }
  beginum=(pageNow-1)*pageSize+1;
  System.out.println("pageNow:"+pageNow);
  System.out.println("pageSize:"+pageSize);
  endnum=(pageNow*pageSize);
  rs=stmt.executeQuery("select * from (select  a.* ,rownum rnum from (select  *  from t_warehousing )a where rownum<="+pageSize*pageNow +") b where b.rnum>="+((pageNow-1)*pageSize+1) +"");
  
  %>
  <table border="1">
   <tr>
    <td>id号</td>
    <td>产品名称</td>
    <td>产品数量</td>
   </tr>
   <%
    while(rs.next()) {
   %>
   <tr>
    <td><%=rs.getInt(1)%></td>
    <td><%=rs.getString(2)%></td>
    <td><%=rs.getString(3)%></td>
    <td><a href="delete.jsp?id=<%=rs.getInt(1)%>">删除</a></td>
    <td><a href="update.jsp?id=<%=rs.getInt(1)%>">更新</a></td>
   </tr>
   <%
    }
   %>
  </table>
  <%
   rs.close();
   stmt.close();
   conn.close();
  %>
  <br>
  总页数:
  <%=pageCount%>页
  <br>
  <br>
  每页显示数据:
  <%=pageSize%>条
  <br>
  当前页数为:第<%=pageNow%>页
  <br>
  
  总数为:<%=rowCount%>条<br>
  <%out.println("<a href=testpagnation.jsp>首页</a>"); %>
  <%out.println("<a href=testpagnation.jsp?pageNow="+(pageNow-1)+">上一页</a>"); %>
  <%
   for (int i = 1; i <= pageCount; i++) {
  %>
  <%
   out.println("<a href=testpagnation.jsp?pageNow="+i+">" +i+"</a>");
  %>
  <%
   }
  %>
  <%out.println("<a href=testpagnation.jsp?pageNow="+(pageNow+1)+">下一页</a>"); %> 
  <%out.println("<a href=testpagnation.jsp?pageNow="+pageCount+">末页</a>"); %>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值