關鍵代碼:
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)。 使用一個自變量時,該值指定從結果集合的開頭返回的行數。