springboot整合pagehelper

简介: 在日常工作中怎么分页呢?咱们可以在sql里面拼接limit,但是这样是不是有点low,所以我又访问了一下伟大的百度,又知道了一个插件pagehelper,那么下面介绍一下pagehelper。


image.png

在日常工作中怎么分页呢?咱们可以在sql里面拼接limit,但是这样是不是有点low,所以我又访问了一下伟大的百度,又知道了一个插件pagehelper,那么下面介绍一下pagehelper。

1.添加pom文件

首先在pom文件中加入依赖。同理版本方面可以访问官网。https://pagehelper.github.io/ 同时里面还有官方文档,想仔细研究的大佬可以去瞧瞧。

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

2.编写controller

我们在controller中实现分页,首先判断前台是否传过来分页的入参,如果没有直接查询,如果PageNum,PageSize传了,直接使用  page = PageHelper.startPage()分页查询。也可以使用Long total =  page.getTotal();获取总条数。

public Result<*>(*VO *VO) {
        Result<*> resultVO = new Result<>();
        // 分页
        Page page = new Page();
        if (!CommonUtil.isEmpty(*VO.getPageNum()) && !CommonUtil.isEmpty(*VO.getPageSize())) {
            page = PageHelper.startPage(*VO.getPageNum(), *VO.getPageSize());
            resultVO.setPageNum(*VO.getPageNum());
            resultVO.setPageSize(*VO.getPageSize());
        }
        // ASC是根据id 正向排序,DESC是反向排序
        if (!CommonUtil.isEmpty(*VO.getOrder())) {
            PageHelper.orderBy(*VO.getOrder());
        }
        // 业务查询 只有这一句是业务查询!!!
        List<*VO> result = *Service.query(*VO);
        // 分页总数封装
        Long total = page.getTotal();
        resultVO.setTotal(total);
        // 实体封装
        resultVO.setData(result );
        return resultVO;
    }

这里有个坑,如果controller中有两个查询语句,那么第二个查询也会加上第一个的查询条件,如果有该情况,可以建立service,然后分别调用。

3.service层

很简单,没啥说的,普通的增删改查即可,这里不加以展示。#

4.配置类

需要在配置类中加入以下配置,helperDialect根据数据库类型修改。

pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql

然后我们直接调用接口就ok了,顺便说一下pagehelper是一种物理分页方式(拼接liimit到sql),会直接在数据库中查询出想要的数据,而不是全部查询出来,然后在内存中再次截取,所以效率是比较好的。


相关文章
|
6月前
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
165 0
|
6月前
|
SQL Java 数据库连接
【mybatis】第一篇,Springboot中使用插件PageHelper不生效解决方案
【mybatis】第一篇,Springboot中使用插件PageHelper不生效解决方案
|
1月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
54 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
5月前
springboot2.4.5使用pagehelper分页插件
springboot2.4.5使用pagehelper分页插件
152 0
|
6月前
|
druid Java 数据库连接
SpringBoot + Mybatis + Druid + PageHelper 实现多数据源分页
SpringBoot + Mybatis + Druid + PageHelper 实现多数据源分页
248 0
|
6月前
|
SQL 前端开发 JavaScript
Spring Boot + Thymeleaf 使用PageHelper实现分页
Spring Boot + Thymeleaf 使用PageHelper实现分页
|
6月前
|
XML 监控 druid
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
106 0
|
前端开发 Java Linux
springboot整合pagehelper插件失效
springboot整合pagehelper插件失效
springboot整合pagehelper插件失效
|
XML Java 数据库连接
Spring Boot中的Mybatis分页插件-pagehelper的使用
Spring Boot中的Mybatis分页插件-pagehelper的使用
649 0
|
SQL Java 数据库连接
一招学会—Spring Boot使用PageHelper进行分页
一招学会—Spring Boot使用PageHelper进行分页
738 0