乐趣区

关于java:分页查询PageHelper

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

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

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

/**
 * 当前页汇合
 */
private List<T> rows;
}

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

@Select(“select id,username,password,name,gender,image,job,entrydate,dept_id,create_time,update_time from emp”)
List<Emp> findList2();

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

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

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

退出移动版