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



猜你喜欢

转载自www.cnblogs.com/xiaoliu66007/p/11012095.html