对于PageHelper网上的资料很多,作者的文档写的很全面,我这里只是记录自己的配置和使用的方法
所需jar包:jsqlparser-0.9.5.jar
和pagehelper-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());
}
}