• Mybatis的分页插件com.github.pagehelper


    1. 需要引入PageHelper的jar包

      如果没有使用maven,那直接把jar包导入到lib文件夹下即可,这个PageHelper插件在github上有开源,

    地址为:https://github.com/pagehelper/Mybatis-PageHelper/tree/master/src/main/java/com/github/pagehelper。 
    如果使用了maven,那么只要在pom.xml中引入该插件即可,引入如下:

    <dependency>
    
        <groupId>com.github.pagehelper</groupId>
    
        <artifactId>pagehelper</artifactId>
    
        <version>4.1.4</version>
    
    </dependency>
    

    2. 在mybatis的全局配置文件SqlMapConfig.xml中配置该插件

    <?xmlversion="1.0" encoding="UTF-8" ?>
    <!DOCTYPEconfiguration
            PUBLIC"-//mybatis.org//DTD Config 3.0//EN"
           "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <!-- 配置分页插件 -->
        <plugins>
            <plugin interceptor="com.github.pagehelper.PageHelper">
                <!-- 设置数据库类型Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->       
                <property name="dialect" value="mysql"/>
            </plugin>
        </plugins>
    </configuration>
    

    3. 在执行sql前添加插件,完成分页功能

      在查询的sql语句执行之前,添加一行代码PageHelper.startPage(1, 10);第一个参数表示第几页,第二个参数表示每页显示的记录数。

    这样在执行sql后就会将记录按照语句中设置的那样进行分页。如果需要获取总记录数的话,需要PageInfo类的对象,

    这个对象可以获取总记录数,下面看下测试的代码。

    public class TestPageHelper {
        @Test
        public void testPageHelper() {
            // 创建一个spring容器
            ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*");
            // 从spring容器中获取mapper代理对象
            TbItemMapper mapper =context.getBean(TbItemMapper.class);
            // 执行查询并分页,TbItemExample是逆向工程自动生成的,用来进行条件查询,这里不设置则表示无条件
            TbItemExample example = new TbItemExample();
            //分页处理,显示第一页的10条数据
            PageHelper.startPage(1, 10);
            List<TbItem> list =mapper.selectByExample(example);//查询
            // 取商品列表
            for(TbItem item : list) {
               System.out.println(item.getTitle());
            }
            // 取分页信息
            PageInfo<TbItem> pageInfo = new PageInfo<TbItem>(list);
            long total = pageInfo.getTotal(); //获取总记录数
            System.out.println("共有商品信息:" + total);
        }
    }
    

    官方文档,参考:

    https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md

  • 相关阅读:
    带有通配符的字符串匹配算法-C/C++
    二叉树的遍历(一)
    What is "dll"?
    MFC中的CRect(区域)
    枚举顶级窗口函数EnumWindows和它的回调函数的使用!
    一个鼠标指针有关的启发(存在问题,可以参考一下 呵呵)
    9针串口
    About “PostMessage” &"SendMessage"
    Pocket pc模拟器与PC机传输文件的方法
    overlapped I/O的学习笔记
  • 原文地址:https://www.cnblogs.com/zhusf/p/10607193.html
Copyright © 2020-2023  润新知