在数据库服务器中,sql语句实现分页便要每个查询语句都要写上limit(开始,结束),并且不能灵活的随前端变化,为此使用拦截器的方法,过程:拦截器拦截请求的sql语句(根据需要拦截的id(正则匹配),进行拦截),并对根据前端传过来的页数,和每页的条数,计算出limit(开始,结束),总条数,然后,拼接到sql语句后边。其中这个处理过程,已经封装到了,分页插件中,可以不用理解,直接使用。
mybatis 查询分页---使用pagehelper插件
之前在spring+springmvc由于整个大多都是xml的配置,在使用spring-boot后,需要进行分页,
也希望能够减少xml的配置以及新建很多分页的相关类,找到了pagehelper这个插件,
分页起来非常方便
page类
新建一个page< t > 用来接收分页信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
/** * @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; } } |
引入依赖
1 2 3 4 5 |
<dependency> <groupid>com.github.pagehelper</groupid> <artifactid>pagehelper-spring-boot-starter</artifactid> <version> 1.2 . 3 </version> </dependency> |
springboot属性文件增加pagehelper配置
这里使用的是yml(可读性很强,也能少敲些键盘,爱护一下我们可爱的键盘^-^)的方式,
1 2 3 |
pagehelper: helperdialect: mysql reasonable: true |
使用pagehelper 进行分页
public pageinfo<answerquestiondto> answerandquestiondetailbypage(page<answerquestiondto> page){//使用page保包装我们的类
1 2 3 4 5 |
pagehelper.startpage(page.getpageno(),page.getpagesize()); //设置分页相关值 list<answerquestiondto> answerquestiondtolist = answerandquestiondao.answerandquestiondetaillist(page.gett()); //查询 pageinfo<answerquestiondto> pageinfo = new pageinfo<>(answerquestiondtolist); //包装为分页结果 return pageinfo; } |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
原文链接:https://segmentfault.com/a/1190000016201165
查看更多关于mybatis使用pageHelper插件进行查询分页的详细内容...