ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2019-09-01 18:00:40  阅读:309  来源: 互联网

标签:pageNum 分页 pageSize list pageHelper session static MyBatis


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

标签:pageNum,分页,pageSize,list,pageHelper,session,static,MyBatis
来源: https://www.cnblogs.com/zyl187110/p/11442897.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有