一、分页查询
配置文件新增
/**
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
案例

响应示例
{
"success": true,
"code": 200,
"message": "请求成功",
"data": {
"total": 5,
"rows": [
{
"id": 2,
"name": "八戒",
"gender": "男",
"phone": "15733334444",
"createTime": "2022-09-19 17:37:18",
"updateTime": "2022-09-19 17:37:28"
},
{
"id": 3,
"name": "嫦娥",
"gender": "女",
"phone": "15855556666",
"createTime": "2022-09-19 17:37:18",
"updateTime": "2022-09-19 17:37:28"
},
{
"id": 5,
"name": "玉帝",
"gender": "男",
"phone": "13421212121",
"createTime": "2022-09-20 15:21:57",
"updateTime": "2022-09-20 15:21:57"
}
]
}
}
二、条件查询
查询对象
@Data
public class UserQuery implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private String gender;
private String begin;
private String end;
}
service 接口及实现
public interface UserService extends IService<User> {
void pageQuery(Page<User> pageParam, UserQuery userQuery);
}
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public void pageQuery(Page<User> pageParam, UserQuery userQuery) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByAsc("id");
if (userQuery == null){
baseMapper.selectPage(pageParam, queryWrapper);
return;
}
String name = userQuery.getName();
String gender = userQuery.getGender();
String begin = userQuery.getBegin();
String end = userQuery.getEnd();
if (!StringUtils.isEmpty(name)) {
queryWrapper.like("name", name);
}
if (!StringUtils.isEmpty(gender) ) {
queryWrapper.eq("gender", gender);
}
if (!StringUtils.isEmpty(begin)) {
queryWrapper.ge("create_time", begin);
}
if (!StringUtils.isEmpty(end)) {
queryWrapper.le("update_time", end);
}
baseMapper.selectPage(pageParam, queryWrapper);
}
}
controller
@PostMapping("{pageNum}/{pageSize}")
public Result pageQuery(@PathVariable Long pageNum, @PathVariable Long pageSize, @RequestBody(required = false) UserQuery userQuery) {
Page<User> pageParam = new Page<>(pageNum, pageSize);
userService.pageQuery(pageParam, userQuery);
List<User> records = pageParam.getRecords();
long total = pageParam.getTotal();
return Result.success().data("total", total).data("rows", records);
}
响应示例
