mybatis PageHelper 分页插件

PageHelper 是一款非常好用的开源免费的Mybatis 第三方分页插件。它基于plugin 的方
式与Mybatis 整合。通过PageHelper 所提供的API 完成对数据的分页查询。

操作步骤
1.
1.1添加jar 包

使用PageHelper 需要添加两个jar 包。
pagehelper-5.1.11.jar
jsqlparser-3.1.jar

1.2配置插件

在Mybatis 的全局配置文件中配置该插件,注意位置,全局配置文件是有先后顺序的

点击查看代码
<plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
            <!-- 设置数据库类型
            Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL 六种数据库-->
            <property name="helperDialect" value="mysql"/>
        </plugin>
    </plugins>

2.使用

分页查询API

PageHelper.startPage(int pageNum,int pageSize);
给定分页参数,该方法需要在执行查询之前调用
pageNum:起始的页数,从1 开始计算。
pageSize:每页显示的条数。
PageInfo 对象
存放分页结果对象
pageInfo.getList() 获取分页查询结果。
pageInfo.getTotal() 获取查询总条数。
pageInfo.getPages() 获取总页数。
pageInfo.getPageNum() 获取当前页。
pageInfo.getSize() 获取每页显示的条数。

1.基本使用,分页查询

点击查看代码
public static void main(String[] args) {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
        //什么都不传代表查询所用,一起分表
        UsersExample usersExample = new UsersExample();
        //一定要在调用查询前使用,一调用,该方法就代表执行了,已经分好页了
        PageHelper.startPage(3,2);
        List<Users> list = mapper.selectByExample(usersExample);
        list.forEach(System.out::println);
    }

2.其它操作

点击查看代码
public static void main(String[] args) {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
        //什么都不传代表查询所用,一起分表
        UsersExample usersExample = new UsersExample();
        //一定要在调用查询前使用,一调用,该方法就代表执行了,已经分好页了
        PageHelper.startPage(3,2);
        List<Users> list = mapper.selectByExample(usersExample);
//        list.forEach(System.out::println);
        //PageInfo 进行分页的一些操作
        PageInfo<List> pageInfo = new PageInfo(list);
        //结果集
        List list1 = pageInfo.getList();
        list1.forEach(System.out::println);
        //获取总条数,数据库总数据个数
        System.out.println(pageInfo.getTotal() );
        //获取总页数
        System.out.println(pageInfo.getPages() );
        //获取当前页数
        System.out.println(pageInfo.getPageNum() );
        //获取每页显示的条数
        System.out.println(pageInfo.getSize() );


    }
posted @ 2021-12-07 19:26  风的指引  阅读(111)  评论(0)    收藏  举报