大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線(xiàn):400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 JavaWeb分頁(yè)查詢(xún)

JavaWeb分頁(yè)查詢(xún)

更新時(shí)間:2021-09-06 10:58:10 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1037次

最終效果:

實(shí)現(xiàn):

分頁(yè)查詢(xún)有幾個(gè)比較重要的參數(shù),pageNum當(dāng)前的頁(yè)數(shù),pageSize每頁(yè)所展示的數(shù)據(jù),totalRecord總共有多少數(shù)據(jù),其他的數(shù)據(jù)可以根據(jù)這三個(gè)數(shù)據(jù)得出,有了這幾個(gè)數(shù)據(jù)就可以分頁(yè)查詢(xún)了

public class Page {
    //當(dāng)前的頁(yè)數(shù)
    private int pageNum;
    //每頁(yè)所展示的數(shù)據(jù)
    private int pageSize;
    //總共有多少數(shù)據(jù)
    private int totalRecord;
    //總頁(yè)數(shù)
    private int totalPage;
    //查詢(xún)數(shù)據(jù)的起始位置
    private int startIndex;
    //存放查詢(xún)到的數(shù)據(jù)
    private List<Book> booklist;
    //相對(duì)的頭頁(yè)
    private int start;
    //相對(duì)的尾頁(yè)
    private int end; 
    public Page(int pageNum, int pageSize, int totalRecord) {
        this.pageNum = pageNum;
        this.pageSize = pageSize;
        this.totalRecord = totalRecord; 
        if(totalRecord%pageSize == 0){
            //如果剛好能夠整除,則totalPage = totalRecord/pageSize
            this.totalPage = totalRecord/pageSize;
        }else{
            //如歌不能整除,則需要多加一頁(yè)顯示余下的數(shù)據(jù)
            this.totalPage = (totalRecord/pageSize)+1;
        }
        this.startIndex = (pageNum-1)*pageSize;
        //初始頭頁(yè)
        this.start = 1;
        //初始尾頁(yè)
        this.end = 5;
        if(totalPage<5){
            //如果總頁(yè)數(shù)小于5頁(yè),則尾頁(yè)為總頁(yè)數(shù)
            this.end = this.totalPage;
        }else{
            this.start = this.pageNum-2;
            this.end = this.pageNum+2;
            if(this.start<0){
                this.start = 1;
                this.end = 5;
            }
            if(this.end>totalPage){
                this.end = totalPage;
                this.start = this.end-5;
            }
        }
    } 
    //下面的為get/set方法
    public int getPageNum() {
        return pageNum;
    } 
    public void setPageNum(int pageNum) {
        this.pageNum = pageNum;
    } 
    public int getPageSize() {
        return pageSize;
    } 
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    } 
    public int getTotalRecord() {
        return totalRecord;
    } 
    public void setTotalRecord(int totalRecord) {
        this.totalRecord = totalRecord;
    } 
    public int getTotalPage() {
        return totalPage;
    } 
    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    } 
    public int getStartIndex() {
        return startIndex;
    }
    public void setStartIndex(int startIndex) {
        this.startIndex = startIndex;
    } 
    public List<Book> getBooklist() {
        return booklist;
    } 
    public void setBooklist(List<Book> booklist) {
        this.booklist = booklist;
    } 
    public int getStart() {
        return start;
    } 
    public void setStart(int start) {
        this.start = start;
    } 
    public int getEnd() {
        return end;
    } 
    public void setEnd(int end) {
        this.end = end;
    }
}

pageNum從請(qǐng)求中獲得,pageSize自己設(shè)置,totalRecord通過(guò)mybatis查詢(xún)獲得,一開(kāi)始登錄的時(shí)候請(qǐng)求中沒(méi)有pageNum,所以進(jìn)行一個(gè)判斷,如果沒(méi)有pageNum則賦值為1

 //pageNum 
 String pageNum = request.getParameter("pageNum") == null?"1":request.getParameter("pageNum");
//pageSize 
   int pageSize = 7;
//totalRecord
int totalRecord = bookMapper.BookSize();
//mybatis
<select id="BookSize" resultType="int">
        select count(*) from book
 </select>

有了pageNum和startIndex就可以查詢(xún)到特定范圍的數(shù)據(jù),通過(guò)使用mysql中的limit函數(shù),limit有兩個(gè)參數(shù),第一個(gè)參數(shù)為起始位置,即從那開(kāi)始查,第二個(gè)參數(shù)為查詢(xún)范圍,即查多少個(gè),如 limit 14,7 為從第14個(gè)數(shù)據(jù)開(kāi)始往后查七個(gè)。

<select id="Books" parameterType="java.util.Map" resultType="book">
        select *from book  limit #{startIndex},#{pageSize}
    </select>
public static Page getPageUser(int pageNum,int pageSize){
        SqlSession sqlSession = GetSqlSession.getSqlSession();
        BookMapper bookMapper = sqlSession.getMapper(BookMapper.class);
        int totalRecord = bookMapper.BookSize(); 
        Page page = new Page(pageNum,pageSize ,totalRecord );
        int startIndex = page.getStartIndex();
        Map<String,Integer> map = new HashMap<>();
        map.put("startIndex",startIndex );
        map.put("pageSize",pageSize );
        page.setBooklist(bookMapper.Books(map));
        return page;
    }

jsp頁(yè)面:

<a href="index?pageNum=1">首頁(yè)</a>
            <%--當(dāng)前頁(yè)數(shù)為第一頁(yè)--%>
        <c:if test="${sessionScope.page.pageNum == 1}">
            <c:forEach begin="${sessionScope.page.start}" end="${sessionScope.page.end}" step="1" var="i">
                <c:if test="${sessionScope.page.pageNum == i}">
                    <span  style="color: deeppink">${i}</span>
                </c:if>
                <c:if test="${sessionScope.page.pageNum != i}">
                    <a href="index?pageNum=${i}">${i}</a>
                </c:if>
            </c:forEach>
            <a href="index?pageNum=${sessionScope.page.pageNum+1}">下一頁(yè)</a>
        </c:if>
        <%--當(dāng)前頁(yè)數(shù)為中間頁(yè)數(shù)--%>
        <c:if test="${sessionScope.page.pageNum >1 && sessionScope.page.pageNum<sessionScope.page.totalPage}">
            <a href="index?pageNum=${sessionScope.page.pageNum-1}">上一頁(yè)</a>
            <c:forEach begin="${sessionScope.page.start}" end="${sessionScope.page.end}" step="1" var="i">
                <c:if test="${sessionScope.page.pageNum == i}">
                    <span  style="color: deeppink">${i}</span>
                </c:if>
                <c:if test="${sessionScope.page.pageNum != i}">
                    <a href="index?pageNum=${i}">${i}</a>
                </c:if>
            </c:forEach>
            <a href="index?pageNum=${sessionScope.page.pageNum+1}">下一頁(yè)</a>
        </c:if>
        <%--當(dāng)前頁(yè)數(shù)為最后一頁(yè)--%>
        <c:if test="${sessionScope.page.pageNum == sessionScope.page.totalPage}">
            <a href="index?pageNum=${sessionScope.page.pageNum-1}">上一頁(yè)</a>
            <c:forEach begin="${sessionScope.page.start}" end="${sessionScope.page.end}" step="1" var="i">
                <c:if test="${sessionScope.page.pageNum == i}">
                    <span  style="color: deeppink">${i}</span>
                </c:if>
                <c:if test="${sessionScope.page.pageNum != i}">
                    <a href="index?pageNum=${i}">${i}</a>
                </c:if>
            </c:forEach>
        </c:if>
        <a href="index?pageNum=${sessionScope.page.totalPage}">尾頁(yè)</a>

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"JavaWeb分頁(yè)查詢(xún)",希望對(duì)大家有幫助,想了解更多可查看JavaWeb教程。動(dòng)力節(jié)點(diǎn)在線(xiàn)學(xué)習(xí)教程,針對(duì)沒(méi)有任何Java基礎(chǔ)的讀者學(xué)習(xí),讓你從入門(mén)到精通,主要介紹了一些Java基礎(chǔ)的核心知識(shí),讓同學(xué)們更好更方便的學(xué)習(xí)和了解Java編程,感興趣的同學(xué)可以關(guān)注一下。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 最近中文字幕无免费视频 | 99精品国产综合久久久久 | 国产高清一区二区三区视频 | 高清不卡视频 | 色在线网| 国产成人a毛片在线 | 夜色福利一区二区三区 | 久久er99热这里只是精品 | aaaaaaa毛片| 久久中文字幕日韩精品 | 国产在线精品一区二区高清不卡 | 久久亚洲国产成人精品性色 | 国产视频福利 | 久久香蕉国产线看观看乱码 | 国产美女久久久久久久久久久 | 国内精品日本久久久久影院 | 久久青草免费91线频观看站街 | 亚洲系列第一页 | 中文字幕视频一区二区 | 337p色噜噜人体大胆欧美 | 2021最新国产成人精品视频 | 欧美日韩高清观看一区二区 | 亚洲精品国产国语 | 久久这里有精品 | 99免费视频| 免费黄色的视频 | 久久青草免费91线频观看站街 | 亚洲欧美高清视频 | 日本一二三区免费 | 欧美成人免费观看久久 | 亚洲精品第一国产综合高清 | 修修视频在线观看 | 日韩99在线 | 亚洲天堂一区二区三区四区 | 国产护士一级毛片高清 | 国产精品欧美日韩一区二区 | 337p欧洲日本大胆艺术 | 99在线播放| 久热精品男人的天堂在线视频 | 免费高清一级欧美片在线观看 | 日本一级特黄毛片免费视频 |