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

MyBatis中PageHelper不生效的解決方案

 更新時間:2021年06月17日 11:53:06   作者:格子間里格子衫  
這篇文章主要介紹了MyBatis中PageHelper不生效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

MyBatis中PageHelper不生效

今天使用pageHelper,發(fā)現(xiàn)設置了PageHelper.startPage(page, pageSize);pageSize設置為10,但是結(jié)果并沒有分頁,查處了全部的數(shù)據(jù);

問題解決:

原因是mybatis的依賴版本問題,之前配置的是1.0.0版本,這個版本不支持分頁攔截

<dependency>
 <groupId>org.mybatis.spring.boot</groupId>
 <artifactId>mybatis-spring-boot-starter</artifactId>
 <version>1.0.0</version>
</dependency>

所以修改成1.1.1版本解決問題

<!-- mybatis -->
<dependency>
 <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>1.1.1</version>
 </dependency>
 <!-- 分頁插件 -->
<dependency>
 <groupId>com.github.pagehelper</groupId>
 <artifactId>pagehelper</artifactId>
 <version>4.1.6</version>
</dependency>

MyBatis PageHelper手動設置pages屬性不生效

環(huán)境: springboot+mybatis, 其中使用了pagehelp插件

依賴如下:

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.mybatis.spring.boot</groupId>
                    <artifactId>mybatis-spring-boot-starter</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

問題描述:

手動構(gòu)建Page對象, 設置的pages屬性不生效, 例如設置值為3, 獲取的時候依然是0;

原因:

構(gòu)造的Page對象沒有設置pageSize屬性. 調(diào)用page對象的setTotal()方法時, 該方法內(nèi)部根據(jù)pageSize屬性重置了pages屬性的值.

Page對象的setTotal方法源碼如下:

public void setTotal(long total) {
        this.total = total;
        if (total == -1) {
            pages = 1;
            return;
        }
        // 如果pageSize<=0, 則直接設置pages=0; pageSize默認為0
        if (pageSize > 0) {
            pages = (int) (total / pageSize + ((total % pageSize == 0) ? 0 : 1));
        } else {
            pages = 0;
        }
        //分頁合理化,針對不合理的頁碼自動處理
        if ((reasonable != null && reasonable) && pageNum > pages) {
            pageNum = pages;
            calculateStartAndEndRow();
        }
    }

手動構(gòu)造Page對象代碼如下:

// 返回值page對象
Page<StudyRecordVo> pageResult = new Page<>();
// 不設置pageSize,setPages方法調(diào)用無效, setTotal方法覆蓋了pageResult的pages屬性
// 解決方案: 1. 設置pageSize屬性在調(diào)用setTotal方法之前; 2. setTotal方法調(diào)用之后在設置pages屬性
pageResult.setPageSize(pageDto.getPageSize());
pageResult.setPages(totalPages);
pageResult.setTotal(totalElements);
pageResult.addAll(studyRecordVoList);

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java Web中常用的分頁組件(Java端實現(xiàn))

    Java Web中常用的分頁組件(Java端實現(xiàn))

    本文通過使用場景分析給大家介紹了Java Web中常用的分頁組件(Java端實現(xiàn)),非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-05-05
  • Nacos源碼閱讀方法

    Nacos源碼閱讀方法

    這篇文章將會帶大家閱讀Nacos源碼以及教大家閱讀源碼的技巧,感興趣的朋友跟隨小編一起看看Nacos源碼閱讀方法
    2022-03-03
  • spring-boot-autoconfigure模塊用法詳解

    spring-boot-autoconfigure模塊用法詳解

    autoconfigure就是自動配置的意思,spring-boot通過spring-boot-autoconfigure體現(xiàn)了"約定優(yōu)于配置"這一設計原則,而spring-boot-autoconfigure主要用到了spring.factories和幾個常用的注解條件來實現(xiàn)自動配置,思路很清晰也很簡單,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • 詳解SpringMVC中的四種跳轉(zhuǎn)方式、視圖解析器問題

    詳解SpringMVC中的四種跳轉(zhuǎn)方式、視圖解析器問題

    這篇文章主要介紹了SpringMVC的四種跳轉(zhuǎn)方式、視圖解析器,springmvc核心配置文件和視圖解析器的使用,添加視圖解析器,通過案例講解四種跳轉(zhuǎn)方式,需要的朋友可以參考下
    2022-10-10
  • java基于quasar實現(xiàn)協(xié)程池的方法示例

    java基于quasar實現(xiàn)協(xié)程池的方法示例

    本文主要介紹了java基于quasar實現(xiàn)協(xié)程池的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>
    2022-06-06
  • java一個接口多個實現(xiàn)類的調(diào)用方式

    java一個接口多個實現(xiàn)類的調(diào)用方式

    這篇文章主要給大家介紹了關(guān)于java一個接口多個實現(xiàn)類的調(diào)用方式的相關(guān)資料,經(jīng)測試確認,當一個接口有多個實現(xiàn)時,調(diào)用時只會執(zhí)行一個,有時候需要多個實現(xiàn)調(diào)用,需要的朋友可以參考下
    2023-09-09
  • 詳解Springboot 注入裝配到IOC容器方式

    詳解Springboot 注入裝配到IOC容器方式

    今天通過實例代碼給大家介紹了Springboot 注入裝配到IOC容器方式,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,感興趣的朋友跟隨小編一起看看吧
    2021-10-10
  • Java的IO模型、Netty原理解析

    Java的IO模型、Netty原理解析

    Java的I/O是以流的方式進行數(shù)據(jù)輸入輸出的,Java的類庫涉及很多領(lǐng)域的IO內(nèi)容:標準的輸入輸出,文件的操作、網(wǎng)絡上的數(shù)據(jù)傳輸流、字符串流、對象流等,這篇文章主要介紹了Java的IO模型、Netty原理詳解,需要的朋友可以參考下
    2025-03-03
  • Java讀寫txt文件時防止中文亂碼問題出現(xiàn)的方法介紹

    Java讀寫txt文件時防止中文亂碼問題出現(xiàn)的方法介紹

    這篇文章主要介紹了Java讀寫txt文件時防止中文亂碼問題出現(xiàn)的方法,同時需要注意系統(tǒng)默認的文本保存編碼的設置,需要的朋友可以參考下
    2015-12-12
  • Java實現(xiàn)用位運算維護狀態(tài)碼

    Java實現(xiàn)用位運算維護狀態(tài)碼

    位運算是一種非常高效的運算方式,在算法考察中比較常見,那么業(yè)務代碼中我們?nèi)绾问褂梦贿\算呢,感興趣的小伙伴快跟隨小編一起學習一下吧
    2024-03-03

最新評論

墨竹工卡县| 忻州市| 孝感市| 油尖旺区| 阿巴嘎旗| 蒙城县| 阿坝县| 左权县| 通州市| 西充县| 保靖县| 临高县| 中牟县| 县级市| 怀安县| 那曲县| 观塘区| 禹城市| 无为县| 曲松县| 西乌| 华坪县| 建始县| 江山市| 隆昌县| 文成县| 红安县| 许昌市| 云林县| 周宁县| 山丹县| 岐山县| 宁安市| 济南市| 富裕县| 山丹县| 富平县| 马公市| 安阳市| 蓝山县| 辽阳县|