• 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:  所有导航页

  • 相关阅读:
    java基础02标识符
    java基础08自增、自减运算符 初识Math
    java基础04 数据类型扩展及面试题讲解
    java基础03数据类型
    大家好,近期学习设计模式,我会把自己的例子上传,以供大家参考
    关于寂寞
    从以文件流的形式下载文件
    大家好,我的程序博客开始了
    如何学好C语言
    大学生如何将自己从迷茫中解困
  • 原文地址:https://www.cnblogs.com/zyl187110/p/11442897.html
Copyright © 2020-2023  润新知