PageHelper分页插件
PageHelper分页插件
代码实现
当使用了PageHelper分页插件进行分页,就无需再Mapper中进行手动分页了。 在Mapper中我们只需要进行正常的列表查询即可。在Service层中,调用Mapper的方法之前设置分页参数,在调用Mapper方法执行查询之后,解析分页结果,并将结果封装到PageResult对象中返回。
1). 在pom.xml引入依赖
<!--分页插件PageHelper--> <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.7</version> </dependency>
2). EmpMapper
/*** 查询所有的员工及其对应的部门名称*/ @Select("select e.*, d.name deptName from emp as e left join dept as d on e.dept_id = d.id") public List<Emp> list();
3). EmpServiceImpl
@Override public PageResult page(Integer page, Integer pageSize) {//1. 设置分页参数PageHelper.startPage(page,pageSize);//2. 执行查询List<Emp> empList = empMapper.list();Page<Emp> p = (Page<Emp>) empList;//3. 封装结果return new PageResult(p.getTotal(), p.getResult()); }
注意:
PageHelper实现分页查询时,SQL语句的结尾一定一定一定不要加分号(;).。
PageHelper只会对紧跟在其后的第一条SQL语句进行分页处理。