SpringBoot 集成mybatis pageHelper分页查询

一、导入依赖

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.5</version>
        </dependency>

注意,依赖一定要依赖这个,这样可以在配置文件中配置,直接生成bean,不需要显式配置。如果使用以下依赖,需要显示配置 出pageHelper的bean

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

显式配置(没有试过):

@Configuration
public class PageHelperConfig {
    @Bean
    public PageHelper getPageHelper(){
        PageHelper pageHelper=new PageHelper();
        Properties properties=new Properties();
        properties.setProperty("helperDialect","mysql");
        properties.setProperty("reasonable","true");
        properties.setProperty("supportMethodsArguments","true");
        properties.setProperty("params","count=countSql");
        pageHelper.setProperties(properties);
        return pageHelper;
    }
}

二、更改配置文件

在应用程序配置文件下 增加pagehelper相关配置

#pageHelper配置

# 分页插件会自动检测当前的数据库链接,自动选择合适的分页方式(可以不设置)
pagehelper.helper-dialect=mysql
# 默认值为 false,该参数对使用 RowBounds 作为分页参数时有效。(一般用不着)
pagehelper.reasonable=true
# 默认值为 false。设置为 true 时,允许在运行时根据多数据源自动识别对应方言的分页,和params配合使用
pagehelper.support-methods-arguments=true
pagehelper.params=count=countSql

三、使用

注意,只有分页语句后的第一个查询可以实现分页功能

    public List<Consumer> selectByCondition(Integer pageNumber, Integer pageSize){
        //只有分页后的第一个查询有用!!!
        PageHelper.startPage(pageNumber,pageSize);
        ConsumerExample consumerExample = new ConsumerExample();
       // ConsumerExample.Criteria criteria= consumerExample.createCriteria();
        return consumerMapper.selectByExample(consumerExample);
    }

封装成pageInfo作为返回,会包含很多分页的相关信息

PageInfo<Consumer> pageInfo = new PageInfo<>(list);
发布了141 篇原创文章 · 获赞 65 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_39326472/article/details/104570361