欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mybatis使用pageHelper插件进行查询分页

程序员文章站 2024-02-26 16:10:22
在数据库服务器中,sql语句实现分页便要每个查询语句都要写上limit(开始,结束),并且不能灵活的随前端变化,为此使用拦截器的方法,过程:拦截器拦截请求的sql语句(根据...

在数据库服务器中,sql语句实现分页便要每个查询语句都要写上limit(开始,结束),并且不能灵活的随前端变化,为此使用拦截器的方法,过程:拦截器拦截请求的sql语句(根据需要拦截的id(正则匹配),进行拦截),并对根据前端传过来的页数,和每页的条数,计算出limit(开始,结束),总条数,然后,拼接到sql语句后边。其中这个处理过程,已经封装到了,分页插件中,可以不用理解,直接使用。

mybatis查询分页---使用pagehelper插件

之前在spring+springmvc由于整个大多都是xml的配置,在使用spring-boot后,需要进行分页,

也希望能够减少xml的配置以及新建很多分页的相关类,找到了pagehelper这个插件,

分页起来非常方便

page类

新建一个page< t > 用来接收分页信息

/**
 * @author xuelongjiang
 */
public class page<t> {

  private integer pageno = 0;

  private integer pagesize = 10;

  private t t;

  public integer getpageno() {
    return pageno;
  }

  public void setpageno(integer pageno) {
    this.pageno = pageno;
  }

  public integer getpagesize() {
    return pagesize;
  }

  public void setpagesize(integer pagesize) {
    this.pagesize = pagesize;
  }

  public t gett() {
    return t;
  }

  public void sett(t t) {
    this.t = t;
  }
}

引入依赖

  <dependency>
    <groupid>com.github.pagehelper</groupid>
    <artifactid>pagehelper-spring-boot-starter</artifactid>
    <version>1.2.3</version>
  </dependency>

springboot属性文件增加pagehelper配置

这里使用的是yml(可读性很强,也能少敲些键盘,爱护一下我们可爱的键盘^-^)的方式,

  pagehelper:
    helperdialect: mysql
     reasonable: true

使用pagehelper 进行分页

public pageinfo<answerquestiondto>  answerandquestiondetailbypage(page<answerquestiondto> page){//使用page保包装我们的类

    pagehelper.startpage(page.getpageno(),page.getpagesize());//设置分页相关值
    list<answerquestiondto> answerquestiondtolist = answerandquestiondao.answerandquestiondetaillist(page.gett());//查询
    pageinfo<answerquestiondto> pageinfo = new pageinfo<>(answerquestiondtolist);//包装为分页结果
    return pageinfo;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。