Spring整合分页插件PageHelper

1、添加依赖

   <!--分页插件-->
   <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper</artifactId>
      <version>5.3.0</version>
   </dependency>

2、配置PageHelper拦截器插件(2种方法)

方法一:

1、在mybatis-config.xml中配置插件

<plugins>
    <!-- com.github.pagehelper为PageHelper类所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageInterceptor">
         <!-- 数据库类型,没有默认值,此项必填,一般就配置这一个参数 -->
        <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"/>
    </plugin>
</plugins>

方案二:

在spring.xml中引入mybatis文件

    <!--加载配置文件-->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath:db.properties"/>
    </bean>

    <!--配置数据源-->
    <bean  id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <!--初始化连接数量:根据你项目的并发进行评估-->
        <property name="initialSize" value="${initialSize}"/>
        <!--最大的连接个数-->
        <property name="maxActive" value="${maxActive}"/>
        <!--等待时间 单位是毫秒-->
        <property name="maxWait" value="${maxWait}"/>
    </bean>


<bean id="sqlFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 使用哪个数据库连接池  此时使用 ref引用 dataSource 代表使用的是 上面的 druid数据库连接池  -->
        <property name="dataSource" ref="dataSource" />
        <!-- 配置 mybatis的 配置文件位置-->
        <property name="configLocation" value="classpath:mybatisConfig.xml" />
        <!-- 扫描 所有的  mapper.xml文件的位置 注意 此处容易出问题  -->
        <property name="mapperLocations" value="classpath:mapper/*Mapper.xml"/>
        <!--别名扫描-->
        <property name="typeAliasesPackage"  value="com.qy151_16.entity"/>

        <property name="configurationProperties">
             <props>
           		 <!--全局映射器启用缓存-->
                <prop key="cacheEnabled">true</prop>
                <!-- 查询时,关闭关联对象即时加载以提升性能 -->
                <prop key="lazyLoadingEnabled">false</prop>
                <!-- 设置关联对象加载的形态,此处为按需加载字段(加载字段由SQL指定),不会加载关联表的全部字段,以提升性能 -->
                <prop key="aggressiveLazyLoading">true</prop>
                <!-- 对于未知的SQL查询,容许返回不一样的结果集以达到通用的效果 -->
                <prop key="multipleResultSetsEnabled">true</prop>
                <!-- 容许使用列标签代替列名 -->
                <prop key="useColumnLabel">true</prop>
                <!-- 容许使用自定义的主键值(好比由程序生成的UUID 32位编码做为键值),数据表的PK生成策略将被覆盖 -->
                <prop key="useGeneratedKeys">true</prop>
                <!-- 给予被嵌套的resultMap以字段-属性的映射支持 -->
                <prop key="autoMappingBehavior">FULL</prop>
                <!-- 对于批量更新操做缓存SQL以提升性能 -->
                <prop key="defaultExecutorType">BATCH</prop>
                <!-- 数据库超过25000秒仍未响应则超时 -->
                <prop key="defaultStatementTimeout">25000</prop>
            </props>
        </property>
         <property name="plugins">
            <array>
              <bean class="com.github.pagehelper.PageInterceptor">
              </bean>
            </array>
        </property>
    </bean>

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值