一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java分頁查詢--分頁顯示(實例講解)

Java分頁查詢--分頁顯示(實例講解)

2020-12-16 11:38PersistWp Java教程

下面小編就為大家帶來一篇Java分頁查詢--分頁顯示(實例講解)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

當數據庫中數據條數過多時,一個頁面就不能顯示,這是要設置分頁查詢,首先要使用的是數據庫sql語句的limit條件實現分組查詢

sql語句大概形式為:

select * from table limit 開始索引,顯示條數

用該語句就會實現分塊查詢,并且每頁顯示固定條數。

首先要實現后臺分頁,我們需要知道它有多少頁,每頁有多少行,這就需要知道一共多少行,調用sql語句時還需要知道每一頁的開始索引,開始索引是根據當前頁數算出來的,所以還需要知道當前頁數,查詢后會返回一個列表存儲當前頁數據。將這些屬性及獲取設置的方法封裝成一個類就有了下面的page類:

Page類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
public class Page<T> {
  private List<T> data;//數據列表
  private int pagenum;//當前頁數
  private int pagesize;//當前頁顯示條數
  private int rows;//總行數
  public Page(int rows,int pagenum, int pagesize) {
    super();
    data=new ArrayList<>();
    this.rows=rows;
    this.setPagesize(pagesize);
    this.setPagenum(pagenum);   
  }
  public Page() {
    super();
  }
  public int getPagenum() {
    return pagenum;
  }
  public void setPagenum(int pagenum) {
    if(pagenum>getTotalpage())
    {
      this.pagenum=getTotalpage();
    }
    else {
      this.pagenum = pagenum;
    
    if(pagenum<1)
    {
      this.pagenum=1;
    }
  }
  public int getPagesize() {
    return pagesize;
  }
  public void setPagesize(int pagesize) {
    this.pagesize = pagesize;
  }
  public int getTotalpage() {
    //計算總頁數
    if(rows%pagesize==0)
    {
      return rows/pagesize;
    }
    else {
      return rows/pagesize+1;
    }   
  }
  public int getRows() {
    return rows;
  }
  public void setRows(int rows) {
    this.rows = rows;
  }
  public int getIndexnum() {
    //獲取索引值
    return pagesize*(pagenum-1);
  }
  public List<T> getData() {
    return data;
  }
  public void setData(List<T> data) {
    this.data = data;
  }
}

初始化時我們只需要獲得數據總條數,頁數及每頁顯示條數。數據總條數可以用sql語句select count(*)from table 獲得。每次查詢時只需要傳入當前頁數就可以了。將每次查詢后的page對象傳入jsp前臺頁面,并以一個div來顯示

顯示div

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<div>
    <a href="/stuent8.11/stuServlet?pagenum=1" rel="external nofollow" >首頁</a>
    <a href="/stuent8.11/stuServlet?pagenum=${apage.pagenum-1 }" rel="external nofollow" >上一頁</a>
    <c:choose>
      <c:when test="${apage.totalpage<=5 }">
        <c:set var="begin" value="1"></c:set>
        <c:set var="end" value="${apage.totalpage }"></c:set>
      </c:when>
      <c:when test="${apage.totalpage>5 }">
        <c:set var="begin" value="1"></c:set>
        <c:set var="end" value="5"></c:set>
        <c:if test="${apage.pagenum>3 }">
          <c:set var="begin" value="${apage.pagenum-2 }"></c:set>
          <c:set var="end" value="${apage.pagenum+2 }"></c:set>
        </c:if>
        <c:if test="${end>apage.totalpage }">
          <c:set var="begin" value="${apage.totalpage-4 }"></c:set>
          <c:set var="end" value="${apage.totalpage }"></c:set>
        </c:if>
      </c:when>
    </c:choose>
    <c:forEach begin="${begin }" end="${end }" step="1" var="num">
      <c:if test="${apage.pagenum==num }">
        [${num }]
      </c:if>
      <c:if test="${apage.pagenum!=num }">
        <a href="/stuent8.11/stuServlet?pagenum=${num }" rel="external nofollow" >${num }</a
      </c:if>
    </c:forEach>
    <a href="/stuent8.11/stuServlet?pagenum=${apage.pagenum+1 }" rel="external nofollow" >下一頁</a>
    <a href="/stuent8.11/stuServlet?pagenum=${apage.totalpage }" rel="external nofollow" >末頁</a>
  </div>

其中的一個choose是用于規定頁面顯示的最大頁數,這里是5頁,就是說當點到第4頁是時,第1頁就會消失,出現第6頁。

以上這篇Java分頁查詢--分頁顯示(實例講解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/PersistWp/archive/2017/08/14/7360000.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩亚洲国产欧美精品 | 5x社区发源地最新地址 | 欧美洲大黑香蕉在线视频 | 欧美色综合高清免费 | 91免费播放人人爽人人快乐 | 久久午夜夜伦痒痒想咳嗽P 久久无码AV亚洲精品色午夜麻豆 | 91高清国产视频 | 91精品国产亚一区二区三区 | 日本网络视频www色高清免费 | 日韩亚洲欧美一区二区三区 | 国产精彩对白综合视频 | 高清男的插曲女的 欢迎你老狼 | 亚洲成色www久久网站 | 女主被当众调教虐np | 欧美亚洲高清日韩成人 | 皇上撞着太子妃的秘密小说 | 久久视频这有精品63在线国产 | 国产精品网站在线观看 | 国产在线精品99一卡2卡 | 日日精品 | 天天综合天天综合色在线 | 纲手被comic天堂 | 国产剧情一区二区三区 | 日韩一区二三区无 | 亚洲成人免费看 | 天天干天天爽天天操 | 欧美高清在线精品一区二区不卡 | 日本中文字幕在线观看视频 | 国产精品99久久 | 女主被男主做哭失禁高h | 秘书在办公室疯狂被hd | 国产大胆歌舞团网站 | 色久激情 | 猫咪色网 | 日韩v| 翁息肉小说老扒 | 欧美日韩一区二区三区久久 | 99久热只有精品视频免费观看17 | 欧美一区二区三区精品国产 | 色综合久久中文字幕综合网 | 日韩在线观看一区二区不卡视频 |