MyBatis插件使用--分頁插件與性能攔截器

對於PageHelper網上的資料不少,做者的文檔寫的很全面,我這裏只是記錄本身的配置和使用的方法
所需jar包:jsqlparser-0.9.5.jarpagehelper-5.0.0.jargit

XML配置

spring配置文件中的配置:github

<!-- 建立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...spring

相關文章
相關標籤/搜索