代码如下:
@GetMapping("/page")
public Result findPage(@RequestParam Integer pageNum,
@RequestParam Integer pageSize,
@RequestParam(defaultValue = "") String name) {
QueryWrapper<Files> queryWrapper = new QueryWrapper<>();
// 查询未删除的记录
queryWrapper.eq("isdelete", false);
queryWrapper.orderByDesc("id");
if (!"".equals(name)) {
queryWrapper.like("name", name);
}
return Result.success(fileMapper.selectPage(new Page<>(pageNum, pageSize), queryWrapper));
}
// 设置缓存
private void setCache(String key, String value) {
stringRedisTemplate.opsForValue().set(key, value);
}
// 删除缓存
private void flushRedis(String key) {
stringRedisTemplate.delete(key);
}
}
?这是一个关于文件的分页查询接口
相关代码解析如下:
1.
?public Result findPage(@RequestParam Integer pageNum,
? ? ? ? ? ? ? ? ? ? ? ? ? ?@RequestParam Integer pageSize,
? ? ? ? ? ? ? ? ? ? ? ? ? ?@RequestParam(defaultValue = "") String name) {
这一行代码它定义了一个名为 findPage 的公共方法,它接收三个参数分别是 pageNum, pageSize , name? 都使用了 RequestParam 注解,表示他们是 Http 请求的参数,其中如果Http 请求中没有提供 name 的参数,它的默认值为 空字符串。
2.
? ? ? ? QueryWrapper<Files> queryWrapper = new QueryWrapper<>();
创建一个新的 QueryWrapper 对象,用于构建查询条件
3.
? ? ? ? queryWrapper.eq("isdelete", false);
查询未删除的记录,?(`isdelete = false`)
4.
? ? ? ? queryWrapper.orderByDesc("id");
查询的结果按照id 的降序进行排列
5.
? ? ? ? if (!"".equals(name)) {
? ? ? ? ? ? queryWrapper.like("name", name);
? ? ? ? }
如果提供的name 参数不为空,那么会添加一个查询条件,使得查询结果中的
name
字段包含提供的name
值。
这意思是说,如果你要特地查询某个文件的时候,在搜索框输入名字的时候,这时name 参数就不会为空,展示的结果是搜索后的内容, name 参数为空时,它就会按id 的降序排列文件
?6.
? ? ? ? return Result.success(fileMapper.selectPage(new Page<>(pageNum, pageSize), queryWrapper));
? ? }
这部分代码使用了一个分页对象和查询条件来从数据库获取数据,并将结果包装在一个成功的响应中,
7.
? ? private void setCache(String key, String value) {
? ? ? ? stringRedisTemplate.opsForValue().set(key, value);
? ? }
设置缓存,。它使用了一个名为
stringRedisTemplate
的对象,来设置一个键值对
Spring Data Redis提供的一个类,用于操作Redis数据库
8.
? ? private void flushRedis(String key) {
? ? ? ? stringRedisTemplate.delete(key);
? ? }
}
?
这是另一个私有方法,用于从Redis缓存中删除一个键。同样地,它使用了
stringRedisTemplate
对象来执行删除操作。