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);
    
        }
  • 相关阅读:
    汇总遇到的问题
    mybatis下载地址
    快速创建数据大绝招
    常见的dos命令
    添加react-native-icons中文傻瓜式教程
    react native配置环境watchman监控安装失败解决办法
    如何使用SwitchyOmega.crx谷歌插件
    Git与Github学习笔记
    HTTP协议详解
    使用npm安装一些包失败了的解决方法(npm国内镜像介绍),安装速度跟cnpm一样哦
  • 原文地址:https://www.cnblogs.com/shouyaya/p/12839924.html
Copyright © 2011-2022 走看看