springboot mybatis的pagehelper分頁


maven repositary里,分頁組件常用的有兩個

com.github.pagehelper » pagehelper-spring-boot-starter 

com.github.pagehelper » pagehelper

躺了很多坑,記錄一個能夠成功的方式:

===============================分割線========================

1.在pom.xml中引入依賴:選擇pagehelper的4.2.x版本(如果選了5.1.2,我就不知道咋配置,網上沒找到)

<dependency>
       <groupId>com.github.pagehelper</groupId>
       <artifactId>pagehelper</artifactId>
       <version>4.2.1</version>
</dependency>

2.配置類,這是4.x.x版本的寫法,如果是5.1.2,就不能像下面這樣寫(不會生效)

package com.yggdrasill.framework;

import com.github.pagehelper.PageHelper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Properties;

@Configuration
public class PageMybatisConf {
    @Bean
    public PageHelper pageHelper() {
        System.out.println("MyBatisConfiguration.pageHelper()");
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();
        p.setProperty("offsetAsPageNum", "true");
        p.setProperty("rowBoundsWithCount", "true");
        p.setProperty("reasonable", "true");
        p.setProperty("dialect","postgresql");
        pageHelper.setProperties(p);
        return pageHelper;
    }
}

3.調用代碼

public PageInfo<Slave> queryApiSlaveList(Pager<Slave> page) {
    // PageHelper.startPage(page,pageSize);開啟分頁插件,放在查詢語句上面 幫助生成分頁語句
    PageHelper.startPage(page.getPage(), page.getPageSize());//1,10
    List<Slave> listSlave = slaveMapper.selectAll();
    // 封裝分頁之后的數據  返回給客戶端展示  PageInfo做了一些封裝 作為一個類
    PageInfo<Slave> pageInfoUser = new PageInfo<Slave>(listSlave);
return pageInfoUser; }

效果如圖

完成!!!

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

ps:不用在application.properties配置那幾個參數了,入如果是 pagehelper-spring-boot-starter ,則需要配置


pagehelper.helperDialect=postgresql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
pagehelper.page-size-zero=true

至於 pagehelper-spring-boot-starter 方式,可參考 https://blog.csdn.net/csdn_huzeliang/article/details/79350425




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM