码迷,mamicode.com
首页 > 其他好文 > 详细

MyBatis使用pagehelper进行分页

时间:2020-05-07 00:29:14      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:enc   start   pos   bat   通过   页码   ==   引入   plugins   

使用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使用pagehelper进行分页

标签:enc   start   pos   bat   通过   页码   ==   引入   plugins   

原文地址:https://www.cnblogs.com/shouyaya/p/12839924.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!