上课的时候学习了分页插件,感受到了它的强大,这里总结如下:

  1、首先在spring配置文件中引入依赖jar包:

 <dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>3.7.5</version>
</dependency>

  2、配置分页拦截器

  PageHelper的基于拦截器的原理实现的,拦截器的配置有两种方法:

  一是在mybatis的配置文件中配置

  

<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<property name="dialect" value="mysql"/>
<!-- 该参数默认为false -->
<!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
<!-- 和startPage中的pageNum效果一样-->
<property name="offsetAsPageNum" value="true"/>
<!-- 该参数默认为false -->
<!-- 设置为true时,使用RowBounds分页会进行count查询 -->
<property name="rowBoundsWithCount" value="true"/> <!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
<!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型)
<property name="pageSizeZero" value="true"/>--> <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
<!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
<!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
<property name="reasonable" value="true"/>
<!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 -->
<!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 -->
<!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值 -->
<!-- 不理解该含义的前提下,不要随便复制该配置
<property name="params" value="pageNum=start;pageSize=limit;"/> -->
</plugin>
</plugins>

  需要注意的是对于<plugins>在mybatis-config.xml文件中的位置, http://mybatis.org/dtd/mybatis-3-config.dtd 中指定的顺序,否则会出现错误

<!ELEMENT configuration (properties?, settings?, typeAliases?, typeHandlers?,
objectFactory?, objectWrapperFactory?, plugins?, environments?, databaseIdProvider?, mappers?)>

  另一个是直接整合在spring的配置文件中进行

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations">
<array>
<value>classpath:config/mapper/*.xml</value>
</array>
</property>
<property name="typeAliasesPackage" value="com.test.pojo"/>
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageHelper">
<property name="properties">
<value>
dialect=mysql
</value>
</property>
</bean>
</array>
</property>
</bean>

配置已经完成,需要的时候直接在service层中引用即可

最新文章

  1. UTFGrid
  2. Sprint3(12.18)总结
  3. Oracle systemstate dump介绍
  4. iOS 开发中的CGFloat,CGPoint,CGSize和CGRect
  5. In Action(SPFA+01背包)
  6. 解决Dagger2和butterknife冲突
  7. 5个数求最值—南阳acm
  8. AIX操作oracle
  9. [转] STL源码学习----lower_bound和upper_bound算法
  10. Java版本
  11. JavaBean自动生成get和set方法
  12. Tomcat内核之Tomcat的类加载器
  13. Redis笔记-单机版安装
  14. Q查询条件
  15. LeetCode算法题-Reverse String II(Java实现)
  16. ubunto启动chrome报错
  17. win7,win10系统激活工具下载
  18. iOS自动布局的学习
  19. Python安装scrapy过程中出现“Failed building wheel for xxx”
  20. php 安装mongo扩展(其他扩展同理)

热门文章

  1. hdu 1394(线段树) 最小逆序数
  2. gdal gdal2tiles.py 的使用
  3. linux下svn导入新目录到svn服务器特定地址
  4. Hive 系列(二)权限管理
  5. PHP 5.6 开启CURL HTTPS 类型
  6. [AI]神经网络章2 神经网络中反向传播与梯度下降的基本概念
  7. 通过代理上网时,qq等应用程序连网出错
  8. 记录点复习题目和linux学习
  9. Mysql 常用增删改查命令集合教程
  10. CXF wsdl2java (转载)