最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年08月15日 08:52:54   投稿:jingxian  
下面小編就為大家?guī)硪黄狫ava分頁查詢--分頁顯示(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

當(dāng)數(shù)據(jù)庫中數(shù)據(jù)條數(shù)過多時(shí),一個(gè)頁面就不能顯示,這是要設(shè)置分頁查詢,首先要使用的是數(shù)據(jù)庫sql語句的limit條件實(shí)現(xiàn)分組查詢

sql語句大概形式為:

select * from table limit 開始索引,顯示條數(shù)

用該語句就會(huì)實(shí)現(xiàn)分塊查詢,并且每頁顯示固定條數(shù)。

首先要實(shí)現(xiàn)后臺(tái)分頁,我們需要知道它有多少頁,每頁有多少行,這就需要知道一共多少行,調(diào)用sql語句時(shí)還需要知道每一頁的開始索引,開始索引是根據(jù)當(dāng)前頁數(shù)算出來的,所以還需要知道當(dāng)前頁數(shù),查詢后會(huì)返回一個(gè)列表存儲(chǔ)當(dāng)前頁數(shù)據(jù)。將這些屬性及獲取設(shè)置的方法封裝成一個(gè)類就有了下面的page類:

Page類

public class Page<T> {
  private List<T> data;//數(shù)據(jù)列表
  private int pagenum;//當(dāng)前頁數(shù)
  private int pagesize;//當(dāng)前頁顯示條數(shù)
  private int rows;//總行數(shù)
  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() {
    //計(jì)算總頁數(shù)
    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;
  }
}

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

顯示div

<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>

其中的一個(gè)choose是用于規(guī)定頁面顯示的最大頁數(shù),這里是5頁,就是說當(dāng)點(diǎn)到第4頁是時(shí),第1頁就會(huì)消失,出現(xiàn)第6頁。

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

相關(guān)文章

  • java中abstract修改類的實(shí)例方法

    java中abstract修改類的實(shí)例方法

    在本篇文章里小編給各位分享了一篇關(guān)于java中abstract修改類的實(shí)例方法,有需要的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • MyBatis-Plus分頁時(shí)排序的實(shí)現(xiàn)方法

    MyBatis-Plus分頁時(shí)排序的實(shí)現(xiàn)方法

    這篇文章主要介紹了MyBatis-Plus分頁時(shí)的排序,分頁時(shí)排序的方法,后端OrderItems排序、Wrapper排序前端指定排序,文章結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • Java性能調(diào)優(yōu)及排查方式

    Java性能調(diào)優(yōu)及排查方式

    這篇文章主要介紹了Java性能調(diào)優(yōu)及排查方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Win10系統(tǒng)下配置Java環(huán)境變量

    Win10系統(tǒng)下配置Java環(huán)境變量

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識(shí),文章圍繞著Win10系統(tǒng)下配置Java環(huán)境變量展開,文中有非常詳細(xì)的介紹及圖文示例,需要的朋友可以參考下
    2021-06-06
  • java對(duì)于目錄下文件的單詞查找操作代碼實(shí)現(xiàn)

    java對(duì)于目錄下文件的單詞查找操作代碼實(shí)現(xiàn)

    這篇文章主要介紹了java對(duì)于目錄下文件的單詞查找操作代碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Springboot詳細(xì)講解循環(huán)依賴

    Springboot詳細(xì)講解循環(huán)依賴

    最近在使用Springboot做項(xiàng)目的時(shí)候,遇到了一個(gè)循環(huán)依賴的問題,所以下面這篇文章主要給大家介紹了關(guān)于springboot循環(huán)依賴實(shí)現(xiàn)以及分析的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • idea?Maven?插件?docker-maven-plugin?打包docker鏡像上傳到遠(yuǎn)程倉庫的過程詳解

    idea?Maven?插件?docker-maven-plugin?打包docker鏡像上傳到遠(yuǎn)程倉庫的過程詳解

    這篇文章主要介紹了idea Maven插件docker-maven-plugin打包docker鏡像上傳到遠(yuǎn)程倉庫,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • Java實(shí)現(xiàn)二分搜索樹的示例代碼

    Java實(shí)現(xiàn)二分搜索樹的示例代碼

    二分搜索樹是一顆二叉樹,二分搜索樹每個(gè)節(jié)點(diǎn)的左子樹的值都小于該節(jié)點(diǎn)的值,每個(gè)節(jié)點(diǎn)右子樹的值都大于該節(jié)點(diǎn)的值。本文將利用Java實(shí)現(xiàn)二分搜索樹,需要的可以參考一下
    2022-03-03
  • java中多線程與線程池的基本使用方法

    java中多線程與線程池的基本使用方法

    在Java中,我們可以利用多線程來最大化地壓榨CPU多核計(jì)算的能力,下面這篇文章主要給大家介紹了關(guān)于java中多線程與線程池基本使用的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Spring Cloud實(shí)現(xiàn)微服務(wù)調(diào)用的負(fù)載均衡(詳解)

    Spring Cloud實(shí)現(xiàn)微服務(wù)調(diào)用的負(fù)載均衡(詳解)

    負(fù)載均衡就是將負(fù)載(工作任務(wù),訪問請(qǐng)求)進(jìn)行分?jǐn)偟蕉鄠€(gè)操作單元(服務(wù)器,組件)上進(jìn)行執(zhí)行,根據(jù)負(fù)載均衡發(fā)生位置的不同,一般分為服務(wù)端負(fù)載均衡和客戶端負(fù)載均衡,本文給大家介紹Spring Cloud實(shí)現(xiàn)微服務(wù)調(diào)用的負(fù)載均衡的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2024-03-03

最新評(píng)論

曲阜市| 晋中市| 宁晋县| 临泉县| 佛冈县| 澄江县| 金乡县| 通江县| 怀来县| 汉阴县| 芦山县| 武胜县| 碌曲县| 庆阳市| 平泉县| 汉源县| 闽侯县| 沈丘县| 延寿县| 扶余县| 罗山县| 穆棱市| 叙永县| 肃南| 沈丘县| 洞头县| 基隆市| 肇源县| 宿迁市| 怀化市| 鹤壁市| 翁牛特旗| 屯昌县| 崇仁县| 金湖县| 杂多县| 乌海市| 三门峡市| 临颍县| 班戈县| 平罗县|