MyBatis基于pagehelper实现分页原理及代码实例
程序员文章站
2023-02-20 21:02:39
使用pagehelper分页的原理是:通过mybatis的插件原理(类似web里的filter拦截器),在mapper配置文件将pagehelper注册为mybatis的插件,从而进行分页1.通过ma...
使用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); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。