zoukankan      html  css  js  c++  java
  • 关于分页插件PageHelper

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

      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层中引用即可

  • 相关阅读:
    UE4 Abc 批量导入
    UE4源码摘录(424)
    JZ10 矩形覆盖
    JZ27 字符串的排列
    JZ66 机器人的运动范围
    JZ65 矩阵中的路径
    JZ12 数值的整数次方
    JZ37 数字在升序数组中出现的次数
    JZ6 旋转数组的最小数字
    JZ67 剪绳子
  • 原文地址:https://www.cnblogs.com/sxpy-lj/p/7259281.html
Copyright © 2011-2022 走看看