MyBatis-----7.pageHelper分页助手

pageHelper是一款免费的分页插件,可以适用于多种数据库。

使用分页插件可以大大减少代码量,这里将介绍分页插件的使用方法。

1.下载地址

https://github.com/pagehelper/Mybatis-PageHelper

这里我使用的是   jsqlparser-2.0.jar+pagehelper-5.1.10.jar

2.使用方法:

2.1配置分页助手:

  在conf.xml中添加如下代码,注意添加在<properties resource="db.properties"/>后面

<!-- 配置分页插件 -->
<plugins>
        <!-- com.github.pagehelper为PageHelper类所在包名 -->
            <plugin interceptor="com.github.pagehelper.PageInterceptor">
                 <!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->
             <property name="helperDialect" value="mysql"/>
        </plugin>
</plugins>

2.2定义UsersMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--  com.zhiyou.zyl.UsersMapper.getUser -->
<mapper namespace="com.zhiyou.zyl.dao.UsersDao">
    <select id="selectAll" resultType="com.zhiyou.zyl.bean.Users">
        select * from users
    </select>
</mapper>

2.3测试分页

  class UsersTest {
    static SqlSession session =null;
    static UsersDao ud;
    @BeforeAll
    static void setUpBeforeClass() throws Exception {
        String resource = "conf.xml";
        //加载 mybatis 的配置文件(它也加载关联的映射文件)
        Reader reader = Resources.getResourceAsReader(resource);
        //构建 sqlSession 的工厂
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
        //创建能执行映射文件中 sql 的 sqlSession
        session = sessionFactory.openSession();

        ud=session.getMapper(UsersDao.class);
    }

    @AfterAll
    static void tearDownAfterClass() throws Exception {
        //提交
        session.commit();
    }

    @Test
    void testSelectAll() {
        int pageNum=1;
        int pageSize=2;
        PageHelper.startPage(pageNum, pageSize);

        List<Users> users=ud.selectAll();
        PageInfo<Users> list = new PageInfo<Users>(users);        

        System.out.println(list);
    }

2.4运行结果

PageInfo{pageNum=1, pageSize=2, size=2, startRow=1, endRow=2, total=4, pages=2, list=Page{count=true, pageNum=1, pageSize=2, startRow=0, endRow=2, total=4, pages=2, reasonable=false, pageSizeZero=false}[Users [id=1, name=张三, age=18], Users [id=2, name=李四, age=19]], prePage=0, nextPage=2, isFirstPage=true, isLastPage=false, hasPreviousPage=false, hasNextPage=true, navigatePages=8, navigateFirstPage=1, navigateLastPage=2, navigatepageNums=[1, 2]}

2.5pageInfo属性介绍:

pageNum: 当前页码

pageSize:  每页数据条数

size:          当前页数据条数

startRow/endRow: 开始/结束条数

total:          总条数

pages:       总页数

list:             结果集

prePage/nextPage:    上一页/下一页

isFirstPage/ isLastPage:    是否为第一页/最后一页

hasPreviousPage/hasNextPage:  是否有上一页/下一页

navigatePages:导航页码数

navigateFirstPage:导航第一页

navigateLastPage:导航下一页

navigatePageNums:  所有导航页

原文地址:https://www.cnblogs.com/zyl187110/p/11442897.html

时间: 2024-11-08 22:38:48

MyBatis-----7.pageHelper分页助手的相关文章

SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页

SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页 **SpringBoot+Mybatis使用Pagehelper分页插件自动分页,非常好用,不用在自己去计算和组装了.全部自动实现. 话不多说,直接上代码: 第一步pom文件配置添加jar: <!-- mybatis的分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>

小白的springboot之路(十五)、mybatis的PageHelper分页插件使用

0.前言 用mybatis,那么分页必不可少,基本都是用PageHelper这个分页插件,好用方便: 1.实现 1.1.添加依赖: <!-- 3.集成 mybatis pagehelper--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version

MyBatis 使用PageHelper分页不起作用

springboot坏境下使用PageHelper不起作用 PageHelper.startPage(pageNo,pageSize); 上面语句跟随的mapper查出来的总是所有数据,并没有分页. 排查之后发现问题出在pom文件依赖错了,springboot坏境要用 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter

Mybatis的PageHelper分页插件的PageInfo的属性参数,成员变量的解释

//当前页 private int pageNum; //每页的数量 private int pageSize; //当前页的数量 private int size; //由于startRow和endRow不常用,这里说个具体的用法 //可以在页面中"显示startRow到endRow 共size条数据" //当前页面第一个元素在数据库中的行号 private int startRow; //当前页面最后一个元素在数据库中的行号 private int endRow; //总记录数 p

就mybatis中pagehelper(分页助手)谈谈自己的个人理解及操作

第一我们需要用到这个pagehelper需要引入这个助手的jar包这个就需要我们在官网搜索pagehelper这个助手当然我个人在这里写下详细的步骤 打开官网 https://pagehelper.github.io/或者在百度搜索pagehelper 点击 vIew on Github 找到下面pagehelper 中文版文档  点击如何使用pagehelper  找到里面的jar所在位置 (其中俩个jar包不匹配容易出现版本冲突导致出现一堆小编都看不懂的错误所以可以下载下面的,经实际检验可以

1.动态sql语句 2.逆向工程(generator) 3.分页助手(pagehelper)

2019-8-30 大纲 1.动态sql语句 2.逆向工程(generator) 3.分页助手(pagehelper) 1.动态sql语句(即sql语句的拼接) 1.1  if标签(属性:test(判断条件)) 缺点:如果仅仅是第二个条件满足导致sql语句出错(使用if+where) <select id="select1" resultType="com.zhiyou.clg.bean.User"> select *from user <if t

10—mybatis 通用mapper插件 pagehelper 分页

spring boot真的太好用了,大家以后多多使用,今天来说说pagehelper 来做mybatis分页,我用的是spring boot 做的开发,后面会把源码发出来. pagehelper(https://github.com/pagehelper/Mybatis-PageHelper) 是什么我就不多说了,网上太多太多了. 还是上代码吧 Card表 CREATE TABLE `card` ( `id` int(11) NOT NULL DEFAULT '0', `cid` int(11)

SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页

前言 本篇文章主要讲述的是SpringBoot整合Mybatis.Druid和PageHelper 并实现多数据源和分页.其中SpringBoot整合Mybatis这块,在之前的的一篇文章中已经讲述了,这里就不过多说明了.重点是讲述在多数据源下的如何配置使用Druid和PageHelper . Druid介绍和使用 在使用Druid之前,先来简单的了解下Druid. Druid是一个数据库连接池.Druid可以说是目前最好的数据库连接池!因其优秀的功能.性能和扩展性方面,深受开发人员的青睐.Dr

分页助手PageHelper

1.pageHelper环境搭建 <!--PageHelper依赖引入--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version> </dependency> 2.配置文件:配置的是mybatis的pageHelper插件,m