爲什麼pageHelper超過最大頁數後還會返回數據

 

============================

問題描述:在微服務裏面做查詢接口,用到pageHelper,數據庫只有8行數據,pageNum=1&pageSize=10,pageNum=2&pageSize=10,pageNum=3&pageSize=10。。。返回的數據都是那8條。

原因:這是pageHelper裏面自帶的一個功能,叫做reasonable分頁參數合理化,3.3.0以上版本可用,默認是false。 啓用合理化時,如果pageNum<1會查詢第一頁,如果pageNum>pages會查詢最後一頁; 禁用合理化時,如果pageNum<1或pageNum>pages會返回空數據。

解決:一般項目裏面加入<property name="reasonable" value="false" />,Spring Boot項目裏面:pagehelper.reasonable=false

原文鏈接:https://blog.csdn.net/rickiyeat/article/details/62042170

===========================

 

在springboot中使用PageHelper插件有兩種較爲相似的方式,接下來我就將這兩種方式進行總結。

方式一:使用原生的PageHelper

1.在pom.xml中引入依賴

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>4.1.3</version>
        </dependency>
2.在項目裏面添加配置

@Configuration
public class MybatisConfig {
 
    @Bean
    public PageHelper pageHelper() {
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();
        p.setProperty("dialect", "Mysql");
        p.setProperty("offsetAsPageNum", "true");
        p.setProperty("rowBoundsWithCount", "true");
        pageHelper.setProperties(p);
        return pageHelper;
    }
 
}
方式二:使用PageHelper的starter

1.在pom.xml中引入依賴

<dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>
2.在application.properties配置pagehelper的屬性

#pagehelper分頁插件配置
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
最後就是使用pagehelper進行分頁了,其中最重要的一句就是

PageHelper.startPage(pageNum,pageSize);pageNum:當前頁數   pageSize:當前頁需要顯示的數量
例如:

 public PageInfo<Blog> ajaxBlog(Integer pageNum,Integer pageSize){
        PageHelper.startPage(pageNum,pageSize);
        List<Blog> blogList = blogMapper.selectByExample(new BlogExample());
        PageInfo<Blog> pageInfo = new PageInfo<Blog>(blogList);
        return pageInfo;
    }
後面就不具體貼了,自由發揮。
 

原文鏈接:https://blog.csdn.net/csdn_huzeliang/article/details/79350425

 

=====================================

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章