程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> servlet實現分頁技術,servlet實現分頁

servlet實現分頁技術,servlet實現分頁

編輯:JAVA綜合教程

servlet實現分頁技術,servlet實現分頁


關鍵代碼:

 1 //==========================分頁的功能==============================
 2 int pageSize = 3;
 3 int pageNow = 1;
 4 int rowCount = 0;
 5 int pageCount = 0;
 6  String sPageNow = request.getParameter("pageNow");
 7  if(sPageNow != null){
 8      pageNow = Integer.parseInt(sPageNow);
 9  }
10 Connection con = null;
11 java.sql.PreparedStatement ps = null;
12 ResultSet rs = null;
13 try {
14     //加載驅動程序
15     Class.forName("com.mysql.jdbc.Driver");
16     
17     //創建數據庫url
18     String url = "jdbc:mysql://localhost:3307/spdb?useSSL=false";
19     String user = "root";
20     String password = "root";
21         
22     //建立連接
23     con = DriverManager.getConnection(url,user,password);
24     //查詢,並返回結果
25     ps = con.prepareStatement("select count(*) from users");
26     rs = ps.executeQuery();
27     //計算rowCount
28     if(rs.next()){
29         rowCount = rs.getInt(1);
30     }
31     //計算pageCount
32     if(rowCount%pageSize == 0){
33         pageCount = rowCount/pageSize;
34     }else{
35         pageCount = rowCount/pageSize+1;
36     }
37     //查詢,並返回結果
38     ps = con.prepareStatement("select * from users limit "+(pageSize*(pageNow-1))+","+pageSize);
39     rs = ps.executeQuery();
40     //以表格形式 顯示返回的數據        
41     out.println("<table border=1>");
42     out.println("<tr><th>id</th><th>name</th><th>passwd</th><th>mail</th><th>grade</th></tr>");
43     while(rs.next()){
44         out.println("<tr>");
45         out.println("<td>"+rs.getInt(1)+"</td>");
46         out.println("<td>"+rs.getString(2)+"</td>");
47         out.println("<td>"+rs.getString(3)+"</td>");
48         out.println("<td>"+rs.getString(4)+"</td>");
49         out.println("<td>"+rs.getInt(5)+"</td>");
50         out.println("</tr>");
51     }
52     out.println("</table>");
53     //底部的頁碼超鏈接
54     if(pageNow != 1){
55         out.println("<a href=MainFrame?pageNow="+(pageNow-1)+">上一頁</a>");
56     }
57     for(int i=pageNow; i<=pageNow+pageSize; i++){
58         if(i <= pageCount){
59             out.println("<a href=MainFrame?pageNow="+i+">"+i+"</a>");
60         }    
61     }
62     if(pageNow != pageCount){
63         out.println("<a href=MainFrame?pageNow="+(pageNow+1)+">下一頁</a>");
64     }

效果截圖:

 

注意:

LIMIT子句可以被用於限制被SELECT語句返回的行數。

LIMIT取一個或兩個數字自變量,自變量必須是非負的整數常數(當使用已預備的語句時除外)。 使用兩個自變量時,第一個自變量指定返回的第一行的偏移量,第二個自變量指定返回的行數的最大值。初始行的偏移量為0(不是1)。 使用一個自變量時,該值指定從結果集合的開頭返回的行數。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved