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() );
}

浙公网安备 33010602011771号