首页 > 其他分享 >MyBatis使用分页插件

MyBatis使用分页插件

时间:2024-02-05 22:22:08浏览次数:23  
标签:插件 分页 System PageHelper println MyBatis pageInfo

MyBatis使用分页插件

PageHelper是国内非常优秀的开源mybatis分页插件,它支持基本主流与常用的数据库,例如:mysql、Oracle、DB2等。

PageHelper在GitHub的项目地址:https://github.com/pagehelper/Mybatis-PageHelper

分页插件的原理

(1)在 MyBatis 执行SQL语句之前,拦截器可以获取 SQL 语句,进而实现分页操作。

(2)PageHelper 提供一个分页查插件,该插件可以解析分页参数,比如:当前页码,每页显示记录等,插件会将这些参数转换为一个 Limit 语句,用于数据库查询分页。

分页插件---PageHelper使用

 (1)引入pageHelper依赖

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>最新版本</version>
</dependency>

这里的最新版本是写 PageHelper 的版本

(2)修改 mybatis 配置文件-加入拦截器

<plugins>
    <!-- com.github.pagehelper为PageHelper类所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageInterceptor">
        <!-- 使用下面的方式配置参数,后面会有所有的参数介绍 -->
        <property name="param1" value="value1"/>
    </plugin>
</plugins>

 

(3)测试代码

 @Test
    public void selectTest() throws Exception{
        Reader resourceAsReader = Resources.getResourceAsReader("mybatis.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
        //指定起始页和每页大小,通过这个进行分页固定(它会将SQL语句添加limit)
        PageHelper.startPage(3,2);
        //这里进行查询所有
        List<Employee> employee = employeeMapper.selectEmployee();
//将查询的内容放到 pageInfo 中方面获取查询中的所有信息 PageInfo<Employee> pageInfo = new PageInfo<Employee>(employee); System.out.println("总条数:"+pageInfo.getTotal()); System.out.println("页数量:" + pageInfo.getPageSize()); System.out.println("总页数: " + pageInfo.getPages()); System.out.println("每页实际的条数:" + pageInfo.getSize()); System.out.println("当前页的记录"+pageInfo.getList()); }

效果展示:

 

标签:插件,分页,System,PageHelper,println,MyBatis,pageInfo
From: https://www.cnblogs.com/gzyhrc/p/18005287

相关文章

  • Mybatis 的 SqlSession 和一级缓存为什么失效?
    目录SqlSession是什么SqlSession分类SqlSession的创建为什么和Spring整合后的SqlSession一级缓存偶尔会失效一级缓存和二级缓存总结SqlSession是什么SqlSession是Mybatis中定义的,用来表示与关系数据库的一次会话,会话定义了各种具体的操作,查询、数据更新(包含保存、更新、删......
  • 利用Jquery Lazyload JS插件实现网页图片延迟加载
    JqueryLazyload是一款网页图片延迟加载JS插件,本文介绍该JS的使用方法。最新的jquerylazyload可以单独使用(即不依赖jquery),本文介绍的是依赖jquery的使用及配置方法。Github项目地址:https://github.com/tuupola/lazyload本文使用的是1.9.7版本(实际与1.9.6版本一致)首先需要引用......
  • 第22天:安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用
    #数据库操作-mysqli函数&增删改查PHP函数:连接,选择,执行,结果,关闭等参考:https://www.runoob.com/php/php-ref-mysqli.html常用:mysqli_connect()打开一个到MySQL的新的连接。mysqli_select_db()更改连接的默认数据库。mysqli_query()执行某个针对数据库的查询。mysqli_fetch......
  • pinterest插件集中移动图片到指定文件夹
    importosimportshutildefis_image_file(filename):"""检查文件是否为图片文件。"""image_extensions=['.jpg','.jpeg','.png','.gif','.bmp','.tiff']returnany......
  • 6款超好用的IDEA插件,开发必备!
    今天给大家介绍几款开发必备的IDEA插件:JRebel热部署插件,让你在修改完代码后,不用再重新启动,很实用!但是,不是免费的,需要大家继续发挥下自己的聪明才智才能happy的使用 JsonParser厌倦了打开浏览器格式化和验证JSON?为什么不安装JSON解析器并在IDE中使用离线支持呢?JSON解析器......
  • PbootCMS采集发布插件-免费下载
    推荐一款可以自动采集文章数据,并发布到Pboot网站的PbootCMS采集发布插件,支持对接简数采集器,火车头采集器,八爪鱼采集器,后羿采集器等大多数网页采集软件。1. 下载并安装PbootCMS采集发布插件1-1)PbootCMS采集发布插件免费下载地址:PbootCMS采集发布接口下载1-2)解压PbootCMS采集发......
  • maven 打包插件
    打包插件install<plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source>......
  • 【MybatisPuls】如何调用DM存储过程并返回多结果集
    一、创建DM存储过程CREATEORREPLACEPROCEDUREyour_procedure(result1OUTCURSOR,result2OUTCURSOR)ASBEGIN--打开第一个结果集OPENresult1FORSELECTtop10*FROM表;--打开第二个结果集OPENresult2FORSELECTtop10*FROM表;END;--SQL测试存储过......
  • SpringBoot-热部署插件添加
      在开发中修改代码避免反复重启编译   <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId></dependency> 使用idea为2023.2.3 ......
  • MyBatis整合第三方缓存EHCache
    EHCache缓存针对于MyBatis的二级缓存。MyBatis默认二级缓存是SqlSessionFactory级别的。添加依赖<!--MyBatis-EHCache整合包--><dependency> <groupId>org.mybatis.caches</groupId> <artifactId>mybatis-ehcache</artifactId> <version>1.2.1</vers......