当前位置: 移动技术网 > IT编程>开发语言>Java > MyBatis基于pagehelper实现分页原理及代码实例

MyBatis基于pagehelper实现分页原理及代码实例

2020年06月14日  | 移动技术网IT编程  | 我要评论

使用pagehelper分页的原理是:

通过mybatis的插件原理(类似web里的filter拦截器),在mapper配置文件将pagehelper注册为mybatis的插件,从而进行分页

1.通过maven引入pagehelper依赖:

<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
<dependency>
  <groupid>com.github.pagehelper</groupid>
  <artifactid>pagehelper</artifactid>
  <version>5.1.11</version>
</dependency>

2.在mybatis的mapper配置文件将pagehelper注册为mybatis的插件

   <plugins>
    <plugin interceptor="com.github.pagehelper.pageinterceptor"></plugin>
  </plugins>

3.pagehelper的用法:

private void selectallusers(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception
  {

    string num=request.getparameter("num");

    if(null==num)
    {
      num="1";
    }

    // page pageinfo

    page<?> page=pagehelper.startpage(integer.parseint(num),5); //设置第几条记录开始,多少条记录为一页

    //通过userservice获取user的信息,其sql语句为"select * from user" 但因pagehelp已经注册为插件,所以pagehelp会在原sql语句上增加limit,从而实现分页
    list<person> persons=userservice.getallusersbypagehelper(); //因而获得的是分好页的结果集
     
    pageinfo<?> pagehelper=page.topageinfo(); //获取页面信息的对象,里面封装了许多页面的信息 如:总条数,当前页码,需显示的导航页等等

    request.setattribute("persons",persons);
    request.setattribute("pagehelper",pagehelper);

    request.getrequestdispatcher("/persons.jsp").forward(request,response);

  }

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网