MyBatis插件使用--分页插件与性能拦截器

对于PageHelper网上的资料很多,作者的文档写的很全面,我这里只是记录自己的配置和使用的方法
所需jar包:jsqlparser-0.9.5.jarpagehelper-5.0.0.jar

XML配置

spring配置文件中的配置:

<!-- 创建MyBatis SqlSessionFactory,同时指定数据源 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- <property name="configLocation" value="classpath:mybatis-config.xml" /> -->
        <property name="dataSource" ref="dataSource" />
        <property name="mapperLocations" value="classpath:com/yupont/gs/dao/mapper/*.xml" ></property>
        <property name="typeAliasesPackage" value="com.yupont.gs.model"/>
        <property name="plugins">
            <array>
                  <!-- 分页插件 -->
                  <bean class="com.github.pagehelper.PageInterceptor">
                      <property name="properties">
                          <value>
                            <!-- 设置为true时,使用RowBounds分页会进行count查询 -->
                            rowBoundsWithCount=true
                          </value>
                    </property>
                  </bean>
                  <!-- 性能拦截器,用于输出每条 SQL 语句及其执行时间,会影响一定性能,正式环境要关闭 -->
                  <bean class="com.yupont.core.mvc.mybatis.PerformanceInterceptor">
                  </bean>
            </array>
          </property>
    </bean>

使用方法

    @Test
    public void selectAll(){
        PageHelper.startPage(2, 5); //第一个参数offset是当前页数,第二个参数limit是每页显示多少数据,分页会在紧跟的selete查询后执行,通过PageInfo类,还可以获得更多信息
        //Condition c = new Condition(Test1.class);
        //c.createCriteria().andCondition("name in ('zhaoliu','zhangsan')");
        List<Test1> list = mapper.selectAll();
        PageInfo<Test1> page = new PageInfo<Test1>(list);
        System.out.println(page.getTotal());
        for (Test1 test1 : list) {
            System.out.println(test1.getName());
        }
    }

参考资料:http://git.oschina.net/free/M…

    原文作者:天风浪浪海山苍苍
    原文地址: https://segmentfault.com/a/1190000008347757
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞