本文中因为使用项目中的代码,所以过多的无用代码
每行代码已经注释 希望能帮助大家,见谅!
在平常查询数据中,因过多数据在前端显示非常的不变,所以经常用到分页。
本文中用到分页工具类可以更详细的传给前端数据。
@Data注解:实现GetSet方法,需要用到 lombok ,不喜欢用的朋友可以自己生成GetSet方法。
没用过的朋友们可以在社区中搜索,我将在下一个文章中单独讲如何使用。
工具类中的属性和构造方法已经注释,很容易看懂。
@Data public class PageBean<T> { // 当前页 private Integer currentPage = 1; // 每页显示的总条数 private Integer pageSize = 10; // 总条数 private Integer totalNum; // 是否有下一页 private Integer isMore; // 总页数 private Integer totalPage; // 开始索引 private Integer startIndex; // 分页结果 private List<T> items; public PageBean() { super(); } public PageBean(Integer currentPage, Integer pageSize, Integer totalNum) { super(); this.currentPage = currentPage; this.pageSize = pageSize; this.totalNum = totalNum; //总条数 + 分页条数-1 /总条数 = 总页数 Integer舍去小数 this.totalPage = (this.totalNum+this.pageSize-1)/this.pageSize; //当前页-1 * 总条数 数据开始索引 this.startIndex = (this.currentPage-1)*this.pageSize; //当前页数 >= 总条数 正则表达式 this.isMore = this.currentPage >= this.totalPage?0:1; } }简单的进行查询,具体代码需要根据需求进行。 1.查询需要数据的sql
select * from user2.查询需要数据的总条数
select count(*) from user两条代码不一样的地方是 一个是查询需要的数据 一个是查询条数 ,如果有条件where那么条件也是一致的。
方法中的参数
在代码中使用了AjaxResult工具类,大家可以直接返回 PageBean对象或者使用自己的返回数据的工具类。
@PostMapping("/selectUserPage") public AjaxResult selectUserPage(@RequestBody Map<Object,Object> map){ //获取参数 int pageSize = (int)map.get("pageSize"); int currentPage = (int)map.get("currentPage"); String userName = (String) map.get("userName"); //接受分页完成的数据 PageBean<Map<Object,Object>> page = studyJobService.selectUserStudyJobPage(userName,currentPage,pageSize); return AjaxResult.success("查询成功",page); }下面数据中的属性在PageBean工具类中已经注释大家可以仔细看看
返回的参数对前端也是很友好
因为测试加的数据不多没有实现很好的效果,大家见谅。
作者java后端小白还在实训,记录一下自己经常用到的知识,同时也分享给大家,希望对大家有帮助,在本文中出现的问题,以及不妥的地方,或者大家不理解的地方,欢迎大家在下面评论指点,谢谢大家!