您的位置:首页技术文章
文章详情页

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

【字号: 日期:2023-10-24 08:10:08浏览:75作者:猪猪

使用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); }

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

标签: Mybatis 数据库
相关文章: