分页实体类
/**
* 分页返回类
*
* @author:kris
* @Date:2022/7/2013:47
**/
@Data
@ToString
public class Page<T> {
/**
* 页号
* */
private Integer pageNum;
/**
*页大小
* */
private Integer pageSize;
/**
* 共有多少条
* */
private Integer total;
/**
* 对象
* */
private List<T> data;
}
分页功能
/**
* 分页查询
*
* @author:kris
* @Date:2022/7/2014:21
**/
@RestController
// @Controller
@Slf4j
public class pageController {
@Autowired
UserService userService;
/**
* @param pageNum //至少为一
* @param pageSize
* 分页
* */
@GetMapping(value = "/user/page")
public Page<User> findByPage(@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "5") Integer pageSize)
throws IOException {
//offset --- 从第几条数据开始遍历
Integer offset = (pageNum - 1) * pageSize;
//得到从offset开始的pageSize的对象列表
List<User> userData = userService.findByPage(offset,pageSize);
//得到返回数据
Page<User> page = new Page<>();
//一共有多少条数据
Integer total = userService.countUser();
//对象列表
page.setData(userData);
//总数
page.setTotal(total);
//页码和页大小
page.setPageNum(pageNum);
page.setPageSize(pageSize);
log.info("page**********");
return page;
}
}