@GetMapping("/page") public Result findPage(@RequestParam Integer pageNum, @RequestParam Integer pageSize, @RequestParam(defaultValue = "") String name) { QueryWrapper<Files> queryWrapper = new QueryWrapper<>(); // 查询未删除的记录 queryWrapper.eq("is_delete", false); queryWrapper.orderByDesc("id"); if (!"".equals(name)) { queryWrapper.like("name", name); } return Result.success(fileMapper.selectPage(new Page<>(pageNum, pageSize), queryWrapper)); }
时间: 2023-06-20 20:07:21 浏览: 112
这段代码是一个 Spring Boot 的控制器方法,使用了 GET 请求方式,接收三个参数:pageNum、pageSize 和 name。它的作用是查询数据库中的文件记录,并返回指定页码和每页大小的数据。其中使用了 MyBatis-Plus 的 QueryWrapper 对象,用于构建查询条件,通过 eq 方法和 like 方法设置了查询条件,orderByDesc 方法用于设置查询结果的排序方式。最终将查询结果封装为 Result 对象并返回。
相关问题
@GetMapping("/page") public Result findPage(@RequestParam(defaultValue = "") String name, @RequestParam Integer pageNum, @RequestParam Integer pageSize) { QueryWrapper<Praise> queryWrapper = new QueryWrapper<>(); queryWrapper.orderByDesc("id"); if (!"".equals(name)) { queryWrapper.like("name", name); } // User currentUser = TokenUtils.getCurrentUser(); // if (currentUser.getRole().equals("ROLE_USER")) { // queryWrapper.eq("user", currentUser.getUsername()); // } return Result.success(praiseService.page(new Page<>(pageNum, pageSize), queryWrapper)); }
这是一个 Spring Boot 中的 RestController,其中包含了一个名为 `findPage` 的 GET 接口,该接口接受三个参数:`name`、`pageNum` 和 `pageSize`。其中 `name` 是一个字符串类型的参数,表示查询条件中的名称关键字,默认值为空字符串;`pageNum` 和 `pageSize` 则是分页查询中的页码和每页数据条数。
在方法内部,使用了 MyBatis-Plus 提供的 `QueryWrapper` 来构造查询条件,并且按照 ID 倒序排序。如果 `name` 不为空,则添加一个模糊查询条件。最后,通过调用 `praiseService.page` 方法来执行分页查询,并将结果封装到一个名为 `Result` 的自定义响应对象中返回给客户端。
请解释代码: @GetMapping public Result<?> findPage(@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "5") Integer pageSize, @RequestParam(defaultValue = "") String search, @RequestParam String department, @RequestParam String major, @RequestParam Integer buildingNo) { LambdaQueryWrapper<StudentVo> wrapper = Wrappers.<StudentVo>lambdaQuery(); if(department!=null){ wrapper.eq(StudentVo::getDepartment,department); } if(major!=null){ wrapper.eq(StudentVo::getMajor,major); } if(buildingNo!=null){ wrapper.eq(StudentVo::getBuildingNo,buildingNo); } Page<StudentVo> studentVoPage = studentVoService.selectPage(new Page<>(pageNum, pageSize), wrapper); return Result.success(studentVoPage); }
这段代码是一个 Spring Boot 中的 Controller 类中的一个 GET 请求处理方法。它使用 @GetMapping 注解来标识这是一个处理 GET 请求的方法。这个方法使用了一些参数,包括 pageNum、pageSize、search、department、major 和 buildingNo,这些参数会从 HTTP 请求的查询字符串中获取。然后它使用这些参数构造了一个 LambdaQueryWrapper 对象,最后通过 studentVoService.selectPage 方法来查询数据库,并返回一个包含查询结果的 Result 对象。其中,如果 department、major 和 buildingNo 参数不为 null,则会根据这些参数构造查询条件,只查询符合条件的结果。
阅读全文