Pagehelper分页插件的使用


Pagehelper分页插件的使用

帮助后端实现分页查询的插件,使用效果:

现在后端在数据层mapper只需要查询全部数据即可,如select * from students,不需要再定义使用page类结合查询语句来实现分页效果。之前sql语句:select * from student where sname like "胡%" limit 0,5;

所以,只需要两个重要参数,查询页page和分页条数limit(通过page与limit可以得到真正SQL语句limit条件的第一个参数,limit值为第二个参数)

1.首先pom文件的依赖引入


    com.github.pagehelper
    pagehelper
    5.1.10

2.在mybatis的主配置文件中配置生效


    
        
        
    

例题,条件查询并分页展示

3.数据层(mapper或dao)

备注:Customer:实体对象,String username(姓名), Integer state(取值:0或1)属性

接口方法:List selectCustomerByCondition(@Param("username") String username,@Param("state") Integer state);

配置:


4.业务层(service)

接口方法:PageInfo selectCustomerByCondition(Integer page, Integer limit, String username, Integer state);

实现方法:

public PageInfo selectCustomerByCondition(
Integer page, Integer limit, String username, Integer state) {
        //先配置这两个重要参数,当前页与每页条数
        PageHelper.startPage(page, limit);
        //再获取分页前的所有数据(List集合)-->
        List customerList = customerMapper.selectCustomerByCondition(username, state);
        //创建一个PageInfo对象,将集合数据丢进去
        return new PageInfo(customerList);
}
5.控制层(controller(servlet))

备注:前面两个分页参数和后面两个查询参数由前端提供过来

@Autowired
private ICustomerService customerService;//操作业务层的对象

 PageInfo pageInfo = customerService.selectCustomerByCondition(page,limit,username,state);