#PageHelper实现分页查询
##第一步 导包
(这里是基于Springboot框架)
通用mapper
##第二步 在mapper中继承通用mapper
import tk.mybatis.mapper.common.Mapper;
public interface BrandMapper extends Mapper <实体类> {
}
##第三步 创建一个分页结果集实体类
PageResult
import lombok.Data;
import java.util.List;
@Data
public class PageResult< T> {
private Long total;
private Integer totalPage;
private List< T> items;
public PageResult(){ }
public PageResult(Long total, List<T> items) {
this.total = total;
this.items = items;
}
}
第四步 在service实现类中开启分页并加入分页查询条件
/*page属性为当前页面,rows为每页的条数,key为查询条件,sortBy为根据某字段排序,根据desc的值选择排序方式
*/
@Override
public PageResult<实体类> selectBrandList(Integer page, Integer rows, String key, String sortBy, Boolean desc) {
//初始化Example
Example example = new Example(T.class);
Example.Criteria criteria = example.createCriteria();
//添加查询条件
if(StringUtils.isNotBlank(key)){//模糊查询
criteria.andLike(“字段名”,"%"+key+"%").orEqualTo(“字段名”,key);
}
//开启分页
PageHelper.startPage(page,rows);
if(StringUtils.isNotBlank(sortBy)){
example.setOrderByClause(sortBy+" "+(desc?“desc”:“asc”));
}
List<实体类> list = brandMapper.selectByExample(example);
//封装成PageInfo
PageInfo<实体类> brandPageInfo = new PageInfo<>(list);
//返回分页结果集
return new PageResult<>(brandPageInfo.getTotal(),brandPageInfo.getList());
}
第五步 在前端拿到分页的结果,根据各自情况处理数据