91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用Java怎么實現一個分頁查詢并顯示功能

發布時間:2020-12-02 15:06:43 來源:億速云 閱讀:160 作者:Leah 欄目:編程語言

本篇文章為大家展示了利用Java怎么實現一個分頁查詢并顯示功能,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

sql語句大概形式為:

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

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

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

Page類

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

<div>
    <a href="/stuent8.11/stuServlet&#63;pagenum=1" rel="external nofollow" >首頁</a>
    <a href="/stuent8.11/stuServlet&#63;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&#63;pagenum=${num }" rel="external nofollow" >${num }</a>  
      </c:if>
    </c:forEach>
    <a href="/stuent8.11/stuServlet&#63;pagenum=${apage.pagenum+1 }" rel="external nofollow" >下一頁</a>
    <a href="/stuent8.11/stuServlet&#63;pagenum=${apage.totalpage }" rel="external nofollow" >末頁</a>
  </div>

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

上述內容就是利用Java怎么實現一個分頁查詢并顯示功能,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永川市| 同仁县| 库车县| 博野县| 土默特右旗| 堆龙德庆县| 桑植县| 通州市| 安顺市| 大港区| 南漳县| 县级市| 庆安县| 资中县| 蓬溪县| 西充县| 信宜市| 红安县| 广州市| 宜都市| 阿拉善右旗| 五大连池市| 丽水市| 勃利县| 北票市| 巴中市| 清镇市| 秦皇岛市| 精河县| 桂林市| 象山县| 通渭县| 兴宁市| 固安县| 五莲县| 肃宁县| 汝阳县| 西和县| 娄烦县| 宁波市| 武冈市|