1、在pom文件中引入pagehelper的依赖信息
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>${pagehelper.version}</version>
</dependency>
2、在mybatis配置拦截
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 设置数据库方言类型:oracle, mysql -->
<property name="helperDialect" value="mysql"/>
</plugin>
</plugins>
3、创建返回包装类
public class PageResult implements Serializable {
private Long total;
private List<?> rows;
public PageResult(){
}
public PageResult(Long total, List<?> rows) {
this.total = total;
this.rows = rows;
}
public List<?> getRows() {
return rows;
}
public void setRows(List<?> rows) {
this.rows = rows;
}
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
}
包装类创建完后一定要install在本地
4、service使用
在mybatis中配置完后,每次对数据库进行查询操作都会检测是否使用分页,如果在service层没有使用pagehelper就不会进行分页处理。
PageHelper.startPage(pageNum,pageSize);
这段代码是告诉mybatis从第pageNum*pageSize查询到第pageNum * pageSize+pageSize条,相当于limit 0,7
所以在service层分页时一定要先进行分页操作,在进行查询操作
public PageResult findPage(int pageNum,int pageSize) {
PageHelper.startPage(pageNum,pageSize);
Page<TbBrand> page = (Page<TbBrand>) brandMapper.selectByExample(null);
return new PageResult(page.getTotal(),page.getResult());
}