分页查询
代码逻辑:
-
页面发送ajax请求,将分页查询参数(page,pageSize)提交到服务端
-
服务端Controller接收到接收到页面提交的数据并调用Service查询数据
-
调用Mapper查询数据库
-
Controller操作数据库将查询到的数据响应给页面
-
页面接收到数据并通过ElementUI的Table组件展示到页面
由于前端已经写好,我们展示以下前端的代码,本章主要介绍后端的逻辑
(大家可以在这里领取完整的资料:https://kdocs.cn/l/cja9JxdvbyUa
UI组件
发送ajax的js代码
步骤:
-
构造分页构造器
-
构造条件构造器
-
设置想要构造的条件
举例:只涉及一个表的展示和涉及两个表的展示
以下是涉及category表的分页展示和数据库字段
代码逻辑:
1.我们在浏览器点击分类管理,打开控制台,则会找到分类查询的请求(由于我这里是提前完善好了功能,所以状态码是200,一般没有完善的话,左边的请求就会爆红并且右边的状态码是400)
2.我们找到请求地址是:http://localhost:8080/category/page?page=1&pageSize=10
为此需要在服务端完善这个请求,我们之前已经写好了CategoryController
在这个类下面直接新建一个方法,请求方式是GET,请求的路径“/page",然后请求参数 int page 和 int pageSize
3,代码逻辑
构造分页构造器
Page<Category> page = new Page<>();构造条件构造器
LambdaQueryWrapper<Category> queryWrapper = new LambdaQueryWrapper<>();设置分页条件
//根据sort进行排序 queryWrapper.orderByAsc(Category::getSort);进行分页查询
categoryService.page(pageInfo,queryWrapper);最后返回就可以
return R.success(pageInfo);
4.完整代码
/** * 分页查询 * @param page * @param pageSize * @return */ @GetMapping("/page") public R<Page> page(int page,int pageSize){ //分页构造器 Page<Category> pageInfo = new Page<>(page,pageSize); //条件构造器 LambdaQueryWrapper<Category> queryWrapper = new LambdaQueryWrapper<>(); //根据sort进行排序 queryWrapper.orderByAsc(Category::getSort); //进行分页查询 categoryService.page(pageInfo,queryWrapper); return R.success(pageInfo); }
最后运行看看运行结果