oracle分页代码(超简单写法)

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="java.sql.*" %>   
<html>
<head>
<title>oracle 的简单fy</title>
</head>
<body>
<center>
<h1><center>oracle 的fy</center></h1><hr>
    <%
    //下面是连接数据库的一些基本信息,不用多说。
      String driver="oracle.jdbc.driver.OracleDriver";
      String url="jdbc:oracle:thin:@localhost:1521:orcl";
      String uname="scott";
      String password="tiger";
      Connection conn=null;
    %>
    <!-- 这里要注意table的写法,很简单的 -->
    <table>
    <tr><td>用户名</td><td>薪水</td></tr>
    <%  
          //这里主要是实现自己想拿到第几页(当前页)。pageNow是当前页
                 String r_pageNow=(String)request.getParameter("pageNow");
                 int pageNo=0;
                 if(r_pageNow!=null){
                 pageNo=Integer.parseInt(r_pageNow);
                 }
    
      try{
        Class.forName(driver);
        conn=DriverManager.getConnection(url, uname,password);
 
        //一共有多少页
        int pageCount=0;
        int rowCount=0; //一共有多少行
        int pageSize=3; //每页显示多少条记录
       
       String sq="select count(*) from emp";
       PreparedStatement prt=conn.prepareStatement(sq);
       ResultSet rst=prt.executeQuery();
       while(rst.next()){
       //这一句主要是得到一共有多少行记录
       rowCount=rst.getInt(1);
       //下面的if与else语句是一共有多少页的判断方法。
       if(rowCount%pageSize==0){
              pageCount=rowCount/pageSize;
       }else{
              pageCount=rowCount/pageSize+1;
       }

       }
        //这里主要是查询分页sql语句
        String sql="select * from(select a1.*,rownum rn from(select * from emp) a1 where rownum<="+pageNo*pageSize+") a2 where a2.rn>="+((pageNo-1)*pageSize+1)+"";
         PreparedStatement   ptmt=conn.prepareStatement(sql);
         ResultSet rs=ptmt.executeQuery();
        while(rs.next()){
       %>
           <tr>
           <td>
           <%
       out.println(rs.getString(2));
        
         %>
         </td>
           <td>
           <%
       out.println(rs.getString(6));
        
         %>
         </td>
        
         </tr>
         <%
         }
         //pageCount 是一共有多少页。for的目的是通过代码把页数分开。
                for(int i=1;i<pageCount;i++){
         out.print("<a href=testoracle.jsp?pageNow="+i+">【"+i+"】</a>");
         }
      %>
      </table>
      <%
       conn.close();
      }catch(Exception e){
       e.printStackTrace();
      }
     %>
</center>
</body>
</html>

你可能感兴趣的:(html,oracle,sql,jsp,jdbc)