您的位置:首页 > 其它

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

2018-08-30 09:34 1096 查看

在数据库服务器中,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;
}

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

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis 查询分页