Mybatis分页插件PageHelper的使用详解_java

1.说明

如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。

该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。

2.使用方法

第一步:在Mybatis配置xml中配置拦截器插件:

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

第二步:在代码中使用

1、设置分页信息:

//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
 //紧跟着的第一个select方法会被分页
List<Country> list = countryMapper.selectIf(1);

2、取分页信息

//分页后,实际返回的结果list类型是Page<E>,如果想取出分页信息,需要强制转换为Page<E>,
Page<Country> listCountry = (Page<Country>)list;
listCountry.getTotal();

3、取分页信息的第二种方法

//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
List<Country> list = countryMapper.selectAll();
//用PageInfo对结果进行包装
PageInfo page = new PageInfo(list);
//测试PageInfo全部属性
//PageInfo包含了非常全面的分页属性
assertEquals(1, page.getPageNum());
assertEquals(10, page.getPageSize());
assertEquals(1, page.getStartRow());
assertEquals(10, page.getEndRow());
assertEquals(183, page.getTotal());
assertEquals(19, page.getPages());
assertEquals(1, page.getFirstPage());
assertEquals(8, page.getLastPage());
assertEquals(true, page.isFirstPage());
assertEquals(false, page.isLastPage());
assertEquals(false, page.isHasPreviousPage());
assertEquals(true, page.isHasNextPage());

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mybatis
pagehelper
mybatis pagehelper、mybatis的pagehelper、mybatis3 pagehelper、pagehelper多表分页、pagehelper 分页示例,以便于您获取更多的相关知识。

时间: 2024-12-10 19:07:46

Mybatis分页插件PageHelper的使用详解_java的相关文章

Mybatis 分页插件 PageHelper

Mybatis分页插件 - PageHelper 5.0.2 发布了.如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 该插件目前支持以下数据库的物理分页: Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005,2008) Informix H2 SqlServer2012 Derby 使用 PageHelper 你只需要在 classpath 中包含 pagehelper-x.x.x.ja

mybatis分页插件pagehelper.PageHelper在使用全文索引查询时出错。

问题描述 mybatis分页插件pagehelper.PageHelper在使用全文索引查询时出错. 今天将sql语句进行更改后 发现的问题. 我这个语句的意思是:查询符合该关键词并且flag为1 的所有记录 sql语句测试没有什么问题,但是在使用PageHelper进行分页时发现 返回的 的集合结果信息错了 一共有两种方式错误 这个是调试信息输出的List结果:-->Page{pageNum=1, pageSize=10, startRow=0, endRow=10, total=1336,

Mybatis 分页插件 PageHelper 5.0.2 发布

Mybatis分页插件 - PageHelper PageHelper 5.0.2 发布了.如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件.分页插件支持任何复杂的单表.多表分页,部分特殊情况请看重要提示.想要使用分页插件?请看如何使用分页插件. 该插件目前支持以下数据库的物理分页: Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005,2008) Informix H2 SqlServer2

Mybatis中注解@MapKey的使用详解_java

mybatis的原身是ibatis,现在已经脱离了apache基金会,新官网是http://www.mybatis.org/. 在研究Mybatis源码之前并不知道这个注解的妙用的,但是当我看到参数解析的时候 有这个一个注解,所以我了解了一下,当我们返回像Map<String, Map<String, Object>>这种类型的时候,我们往往很难做到,因为这里面可能是多个表的数据,所以我们不可能再建一个模型. 这时候我们就可以使用这个注解了 @Retention(Retention

Java+MyBatis+MySQL开发环境搭建流程详解_java

主要搭建过程 1. pom.xml文件中加入mybatis和数据库依赖,这里使用mysql: <properties> <mybatis.version>3.2.3</mybatis.version> <mysql.version>5.1.26</mysql.version> <slf4j.api.version>1.7.5</slf4j.api.version> <testng.version>6.8.7&l

解决常见的Eclipse SVN插件报错方法详解_java

在学习SVN的过程中,你经常会遇到SVN插件问题,本文介绍一下在安装SVN插件时常见Eclipse SVN插件报错信息问题,希望本文介绍对你的学习有所帮助. AD: 本节和大家一起看一下SVN插件在安装过程中遇到的常见Eclipse SVN插件报错信息,和大家一起分享一下,希望通过本节的介绍大家知道当出现SVN插件报错时该如何处理. 常见Eclipse SVN插件报错信息: 1.update-rHEADD:/dev/workforceWorkingcopynotlocked;thisisprob

Mybatis 分页插件 3.6.3 发布

Mybatis分页插件 - PageHelper如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 该插件目前支持以下数据库的物理分页: Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005+) 3.6.3更新日志: 解决了一个潜在的bug,对通用Mapper中的SqlMapper进行分页时,需要使用这个版本 3.6.2更新日志: 本次更新只是增加了一个异常提示,当错误的配置了多个分页插件时,

Mybatis 分页插件 3.7.1 发布

Mybatis分页插件 - PageHelper如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 该插件目前支持以下数据库的物理分页: Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005+) Informix 3.7.1更新日志: 增加Informix数据库支持,设置dialect值为informix即可 解决入参为不可变Map类型时的错误 Maven坐标 <dependency> &l

深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)

深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇) 上篇文章<深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)>我们通过对mybatis源码的简单分析,可看出,在mybatis配置文件中,在configuration根节点下面,可配置properties.typeAliases.plugins.objectFactory.objectWrapperFactory.settings.environments