分页查询-PageHelper

1、写一个存储数据的总条数和所有数据集合的实体类

@Data
@NoArgsConstructor  //无参构造器
@AllArgsConstructor  //全参构造器
@Builder   //构建者设计模式
public class PageBean {

/**
 * 总条数
 */
private Long total;

/**
 * 当前页集合
 */
private List rows;
}

2、在mapper层写一个查询数据库所有数据的方法

@Select("select id,username,password,name,gender,image,job,entrydate,dept_id,create_time,update_time from emp")
List findList2();

3、在service层执行mapper层方法,并调用PageHelper的startPage方法设置页数和每页多少条数据,然后把数据库的数据强转为Page对象,封装成自定义的对象返回

@Override
public PageBean findByPage(Integer page, Integer pageSize) {
    //设置分页参数
PageHelper.startPage(page,pageSize);
//执行查询
List empList = empMapper.findList2();
//查询结果转为Page对象
Page p = (Page) empList;
//封装对象返回
return new PageBean<>(p.getTotal(),p.getResult());
}

4、controller层调用service层方法,把前端分页的参数传给service方法中实行分页,传给前端实体类以供前端进行操作

你可能感兴趣的:(java)