zoukankan      html  css  js  c++  java
  • MyBatis使用pagehelper进行分页

    使用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);
    
        }
  • 相关阅读:
    记一次vue.js用 http.post 前端传json到后台用javabean接收的坑
    springboot1.5.x 测试sample
    sqlserver 查询表缺失索引
    Docker swarm上线的一些问题
    数据库日志文件压缩
    Docker 挂载
    单播广播和多播
    导入数据库表后某些字段的精度为0
    Source Qualifiter组件中Sql Query属性的脚本返回结果集的列数大于组件定义的数量
    distinct和order by冲突
  • 原文地址:https://www.cnblogs.com/shouyaya/p/12839924.html
Copyright © 2011-2022 走看看