Day10-08.案例-员工管理-分页查询-PageHelper插件
1.原始方式:(步骤固定,代码繁琐)
# 查询总记录数
@Select("select count(*) from emp")
public Long count();
/*分页查询,获取列表数据*/
@Select("select * from emp limit #{start}, #{pageSize}")
public List<Emp> page(Integer start, Integer pageSize);
PageHelper:(简介、高效)
@Mapper
public interface EmpMapper {
/*员工信息查询*/
@Select("select * from emp")
public List<Emp> list();
}
@Override
public PageBean page(Integer page, Integer pageSize) {
//1.设置分页参数
PageHelper.startPage(page, pageSize);
//2.执行查询
List<Emp> empList = empMapper.list();
Page<Emp> p = (Page<Emp>)empList;
//封装PageBean对象
PageBean pageBean = new PageBean(p.getTotal(), p.getResult());
return pageBean;
}
2.小结:
1.引入依赖:pagehelper-spring-boot-starter
2.使用:
//1.设置分页参数
PageHelper.startPage(pageNum, pageSize);
//pageNum:页码 pageSize:每页展示记录数 (刚好就是前端传过来的两个参数)
//2.执行查询
List list = empMapper.list();//现在获取到的这个List集合其实是分页查询结果的封装类,是Page类型
Page page = (Page)list;//所以需要强转为Page类型
获取总记录数:page.getTotal()
获取结果列表:page.getResult()
我们只需要执行正常的查询就行了,所有与分页相关的操作都是分页插件帮我们完成的。