【代码解析】代码解析之分页查询(2)

news/2024/7/5 3:33:38

代码如下:

@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对象来执行删除操作。


http://lihuaxi.xjx100.cn/news/1952749.html

相关文章

观成科技-加密C2框架EvilOSX流量分析

工具简介 EvilOSX是一款开源的&#xff0c;由python编写专门为macOS系统设计的C2工具&#xff0c;该工具可以利用自身释放的木马来实现一系列集成功能&#xff0c;如键盘记录、文件捕获、浏览器历史记录爬取、截屏等。EvilOSX主要使用HTTP协议进行通信&#xff0c;通信内容为特…

GPM合并资料整理-GEM部分

一、性能数据上报项 1. CPU模块 上报键值说明采集平台cpu当前进程cpu使用率平均值Android & iOStotcpu系统cpu总使用率平均值Android & iOScpu_temp_maxcpu最高温度Androidcpu_temp_avgcpu温度平均值Androidgpu_temp_avggpu温度平均值Androidgpu_temp_maxgpu最高温度…

Fluids —— Minimal fluid setups

目录 Waterline FLIP Boundary Boundary flow 创建流体设置的三个基本方法&#xff1b; Waterline 由FLIP Container SOP与FLIP Solver SOP组成的基本network&#xff0c;可不需要任何外部源&#xff1b; FLIP Container SOP&#xff0c;能使用不同的容器形状&#xff1b;F…

RIP复习实验

条件: R1为外网&#xff0c;R8和r9的环回分别是172.16.1.0/24和172.16.2.0/24 中间使用78.1.1.0/24 剩下的路由器2-6使用172.16.0.0/16 要求: R1为运营商 r1远程登录r2实际登录r7 R2访问r7要求走r5去访问 全网可达 实现流程: 首先配置好各接口ip address 然后r2-r7使用rip…

PowerBI:如何在以SharePoint文件做为数据源?

问题描述&#xff1a; 有朋友最近询问&#xff0c;在PowerBI中如何以SharePoint中的文件做为数据源&#xff0c;进行报告的设计开发&#xff1f; 今天抽一些时间&#xff0c;为大家做一个样例&#xff0c;供大家参考。 解决方案&#xff1a; 找到将要使用的SharePoint中文件…

Linux-文件系统管理实验2

1、将bin目录下的所有文件列表放到bin.txt文档中&#xff0c;并将一共有多少个命令的结果信息保存到该文件的最后一行。统计出文件中以b开头的所有命令有多少个&#xff0c;并将这些命令保存到b.txt文档中。将文档中以p结尾的所有命令保存到p.txt文件中&#xff0c;并统计有多少…

找出字符串中第一个匹配项的下标(Leetcode28)

例题&#xff1a; 分析&#xff1a; 题目的意思就是&#xff1a; 先给出一个字符串pattern&#xff0c;要拿着pattern字符串和原始字符串&#xff08;origin&#xff09;比对&#xff0c;若在origin中找到了pattern字符串&#xff0c;则返回pattern字符串在原始字符串origin中的…

C++-拷贝构造函数

深拷贝与浅拷贝 浅拷贝&#xff1a;类中的缺省拷贝构造函数&#xff0c;对指针形式的成员变量按字节复制&#xff0c;而不会复制指针所指向的内容&#xff0c;这种拷贝方式称为浅拷贝。 #include <iostream> using namespace std;class Integer{ private:int m_i;publi…