1.pom文件导入依赖
<dependency>
<groupId>com.github.miemiedev</groupId>
<artifactId>mybatis-paginator</artifactId>
<version>1.2.15</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
2.sqlMapConfig.xml配置分页
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--设置日志输出语句,显示相应操作的sql语名-->
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<!--分页插件的配置-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
</configuration>
spring整合mybatis的部分代码:
<!--SqlSessionFactoryBean-->
<bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactoryBean">
<!--配置数据源-->
<property name="dataSource" ref="dataSource"/>
<!--加载mybatis不能接管的配置-->
<property name="configLocation" value="classpath:sqlMapConfig.xml"/>
<!--设置别名-->
<property name="typeAliasesPackage" value="com.bjpowernode.pojo"/>
</bean>
3.使用分页
使用startPage(pageNum,pageSize)
方法设置分页的页码和页大小,然后将查询的所有数据放入new PageInfo(list)
中,得到PageInfo
对象。
public PageInfo pageSplit(int pageNum,int pageSize){
//完成分页设置
PageHelper.startPage(pageNum,pageSize);
//创建查询操作对象
ProductInfoExample example=new ProductInfoExample();
//设置排序
example.setOrderByClause("p_id desc");
//查询所有数据
List<ProductInfo> list=productInfoMapper.selectByExample(example);
//============ 切记切记,取集合之前一定要完成分页的基本设置=======================
//将查询结果给PageInfo封装
PageInfo<ProductInfo> pageInfo=new PageInfo(list);
return pageInfo;
}
得到PageInfo
对象后,可以调用其相关属性如下图,如上一页,下一页,页总数。直接调用此对象属性相关的get
方法即可
注意:上面的代码使用的是ssm项目,在spring中已经整合过mybatis常用的配置了。