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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 JavaWeb分頁查詢

JavaWeb分頁查詢

更新時間:2021-09-06 10:58:10 來源:動力節點 瀏覽1125次

最終效果:

實現:

分頁查詢有幾個比較重要的參數,pageNum當前的頁數,pageSize每頁所展示的數據,totalRecord總共有多少數據,其他的數據可以根據這三個數據得出,有了這幾個數據就可以分頁查詢了

public class Page {
    //當前的頁數
    private int pageNum;
    //每頁所展示的數據
    private int pageSize;
    //總共有多少數據
    private int totalRecord;
    //總頁數
    private int totalPage;
    //查詢數據的起始位置
    private int startIndex;
    //存放查詢到的數據
    private List<Book> booklist;
    //相對的頭頁
    private int start;
    //相對的尾頁
    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{
            //如歌不能整除,則需要多加一頁顯示余下的數據
            this.totalPage = (totalRecord/pageSize)+1;
        }
        this.startIndex = (pageNum-1)*pageSize;
        //初始頭頁
        this.start = 1;
        //初始尾頁
        this.end = 5;
        if(totalPage<5){
            //如果總頁數小于5頁,則尾頁為總頁數
            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從請求中獲得,pageSize自己設置,totalRecord通過mybatis查詢獲得,一開始登錄的時候請求中沒有pageNum,所以進行一個判斷,如果沒有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就可以查詢到特定范圍的數據,通過使用mysql中的limit函數,limit有兩個參數,第一個參數為起始位置,即從那開始查,第二個參數為查詢范圍,即查多少個,如 limit 14,7 為從第14個數據開始往后查七個。

<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頁面:

<a href="index?pageNum=1">首頁</a>
            <%--當前頁數為第一頁--%>
        <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}">下一頁</a>
        </c:if>
        <%--當前頁數為中間頁數--%>
        <c:if test="${sessionScope.page.pageNum >1 && sessionScope.page.pageNum<sessionScope.page.totalPage}">
            <a href="index?pageNum=${sessionScope.page.pageNum-1}">上一頁</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}">下一頁</a>
        </c:if>
        <%--當前頁數為最后一頁--%>
        <c:if test="${sessionScope.page.pageNum == sessionScope.page.totalPage}">
            <a href="index?pageNum=${sessionScope.page.pageNum-1}">上一頁</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}">尾頁</a>

以上就是動力節點小編介紹的"JavaWeb分頁查詢",希望對大家有幫助,想了解更多可查看JavaWeb教程。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 成年男女免费视频观看性 | 真人特级毛片免费视频 | 欧美日韩久久毛片 | 欧美国产亚洲一区二区三区 | 亚洲精品不卡视频 | 四虎欧美永久在线精品免费 | 在线观看欧美亚洲日本专区 | 欧美天天| 最新国产午夜精品视频不卡 | 久久日本精品99久久久久 | 免费一级毛片在线播放泰国 | 亚洲免费成人在线 | 国产尤物福利视频一区二区 | 免费亚洲视频 | 国产成人精品一区二区三在线观看 | 四虎成人免费网址在线 | 久久久精品久久久久久 | 免费在线一级片 | 国产一区二区免费不卡在线播放 | 国产情侣久久精品 | 男女性高爱麻豆 | 日日艹夜夜艹 | 国产综合精品一区二区 | 欧美一级毛片日本 | 日本a一级毛片免费观看 | 99国产福利视频在线观看 | 国产精品午夜高清在线观看 | 欧美毛片大全 | 精品视频在线免费 | 中国日韩欧美中文日韩欧美色 | 看全大色黄大色黄大片一级爽 | 欧美性猛交xxxx免费看久久 | 四虎影院中文字幕 | 四虎在线网站 | 国产第一福利影院 | 久久专区| 亚洲宗合| 精品一精品国产一级毛片 | 成人性生交大片免费看午夜a | 日韩一级黄色大片 | 亚洲欧美日韩精品一区 |