苍穹外卖分类管理

分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

需求分析

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SQL的写法

1 在mapper中写
2 在xml中写

@Mapper
public interface CategoryMapper {

    /**
     * 插入数据
     * @param category
     */
    @AutoFill(OperationType.INSERT)
    @Insert("insert into category(type, name, sort, status, create_time, update_time, create_user, update_user)" +
            " VALUES" +
            " (#{type}, #{name}, #{sort}, #{status}, #{createTime}, #{updateTime}, #{createUser}, #{updateUser})")
    void insert(Category category);

    /**
     * 分页查询
     * @param categoryPageQueryDTO
     * @return
     */
    List<Category> pageQuery(CategoryPageQueryDTO categoryPageQueryDTO);

controller注解的使用

@GetMapping不支持@RequestBody,所以需要使用@PostMapping 和 @RequestBody

post

   @PostMapping("/page")
    @ApiOperation("分类管理-分页查询")
    public Result<PageResult> page(@RequestBody CategoryPageQueryDTO categoryPageQueryDTO) {
        log.info("***分类管理-分页查询***参数***{}", categoryPageQueryDTO);
        PageResult pageResult = categoryService.page(categoryPageQueryDTO);

        return Result.success(pageResult);
    }

get

有两种:

一、 @GetMapping(“/getById”) 不写{}参数名 参数用@RequestParam 即可

二、@GetMapping(“/getIn/{id}”) 写{}参数名 参数用 @PathVariable
postman -> http://ip:port/xxxxx/getInfo/1
三、不写{} 也不写@

/**
     * 分类管理-通过id查询
     *
     * @param id
     * @return
     */
    @ApiOperation("分类管理-通过id查询")
    @GetMapping("/getById")
    public Result getById(@RequestParam Long id) {
        log.info("***分类管理-通过id查询***参数:{}", id);

        Category category = categoryService.getById(id);
        return Result.success(category);
    }
 /**
     * 分类管理-通过id查询
     *
     * @param id
     * @return
     */
    @ApiOperation("分类管理-通过id查询")
    @GetMapping("/getById/{id}")
    public Result getById(@PathVariable Long id) {
        log.info("***分类管理-通过id查询***参数:{}", id);

        Category category = categoryService.getById(id);
        return Result.success(category);
    }

@ApiOperation("分类管理-通过id查询path")
    @GetMapping("/getById/{id}")
    public Result getById(@PathVariable(value = "id",required = true) Long ids) {
        log.info("***分类管理-通过id查询***参数:{}", ids);

        Category category = categoryService.getById(ids);
        return Result.success(category);
    }

    @ApiOperation("分类管理-通过id查询param")
    @GetMapping("/getById")
    public Result getById2(@RequestParam(value = "idId",required = true) Long id) {
        log.info("***分类管理-通过id查询***参数:{}", id);

        Category category = categoryService.getById(id);
        return Result.success(category);
    }
    @GetMapping("/page")
//    @PostMapping("/page")
    @ApiOperation("分类管理-分页查询")
    public Result<PageResult> page( CategoryPageQueryDTO categoryPageQueryDTO) {
        log.info("***分类管理-分页查询***参数***{}", categoryPageQueryDTO);
        PageResult pageResult = categoryService.page(categoryPageQueryDTO);

        return Result.success(pageResult);
    }

delete

    @DeleteMapping("/{id}")
    @ApiOperation("分类管理-删除")
    public Result deleteById(@PathVariable Long id) {
        log.info("***分类管理-删除***参数***{}", id);
        categoryService.deleteById(id);
        return Result.success();
    }

put

   @PutMapping("/startOrStop/{status}/{id}")
    @ApiOperation("分类管理-启用禁用")
    public Result startOrStop(@PathVariable Integer status, @PathVariable Long id) {
        log.info("***分类管理-启用禁用***参数:{}", status);

        categoryService.startOrStop(status, id);
        
        return Result.success();
    }
  @PutMapping
    @ApiOperation("修改分类")
    public Result<String> update(@RequestBody CategoryDTO categoryDTO){
        categoryService.update(categoryDTO);
        return Result.success();
    }

mybatisPlus的使用

 @Override
    public List<Category> selectByType(Long type) {

        LambdaQueryWrapper<Category> categoryLambdaQueryWrapper = new LambdaQueryWrapper<>();

        categoryLambdaQueryWrapper.eq(Category::getType,type).eq(Category::getStatus,StatusConstant.ENABLE);

       List<Category> categoryList= categoryMapper.selectList(categoryLambdaQueryWrapper);

        return categoryList;
    }
    @Override
    public List<Category> selectByType(Long type) {

//        LambdaQueryWrapper<Category> categoryLambdaQueryWrapper = new LambdaQueryWrapper<>();
//
//        categoryLambdaQueryWrapper.eq(Category::getType,type).eq(Category::getStatus,StatusConstant.ENABLE);
//
//       List<Category> categoryList= categoryMapper.selectList(categoryLambdaQueryWrapper);

        HashMap<String, Object> map = new HashMap<>();
        //注意,keys数据库中的列名
        map.put("type", type);
        map.put("status", StatusConstant.ENABLE);

        List<Category> categoryList = categoryMapper.selectByMap(map);

        return categoryList;
    }

mybatisPlus排序

    @Override
    public List<Category> selectByType(Long type) {

        LambdaQueryWrapper<Category> categoryLambdaQueryWrapper = new LambdaQueryWrapper<>();

        categoryLambdaQueryWrapper.eq(Category::getType, type).eq(Category::getStatus, StatusConstant.ENABLE);
        categoryLambdaQueryWrapper.orderByDesc(Category::getCreateTime).orderByAsc(Category::getSort);
        List<Category> categoryList = categoryMapper.selectList(categoryLambdaQueryWrapper);

//        HashMap<String, Object> map = new HashMap<>();
//        //注意,keys数据库中的列名
//        map.put("type", type);
//        map.put("status", StatusConstant.ENABLE);

//        List<Category> categoryList = categoryMapper.selectByMap(map);

        return categoryList;
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/550279.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

docker安装并跑通QQ机器人实践(2)-签名服务器bs-qsign搭建

在前文中&#xff0c;我们详尽阐述了QQ机器人的搭建过程及其最终实现的各项功能展示。接下来&#xff0c;我们将转向探讨该项目基于Docker构建服务的具体实践。本篇将以QQ机器人签名服务——qsign为起点&#xff0c;逐步展开论述。 1 获取和运行 xzhouqd/qsign:8.9.63 镜像 1.…

【K8s】:在 Kubernetes 集群中部署 MySQL8.0 高可用集群(1主2从)

【K8s】&#xff1a;在 Kubernetes 集群中部署 MySQL8.0 高可用集群&#xff08;1主2从&#xff09; 一、准备工作二、搭建nfs服务器2.1 安装 NFS 服务器软件包&#xff08;所有节点执行&#xff09;2.2 设置共享目录2.3 启动 NFS 服务器2.4 设置防火墙规则&#xff08;可选&am…

【ROS2】搭建ROS2-Humble + Vscode开发流程

【ROS2】搭建ROS2-Humble Vscode开发流程 文章目录 【ROS2】搭建ROS2-Humble Vscode开发流程1.基本环境配置2.搭建Vscode开发环境 1.基本环境配置 基本的环境配置包括以下步骤&#xff1a; 安装ROS2-Humble&#xff0c;可以参考这里安装一些基本的工具&#xff0c;可以参考…

Webrtc 信令服务器实现

webrtc建联流程图 由上图可知&#xff0c;所谓的信令服务器其实就是将peer的offer/candidate/answer传给对端而已。这样的话实现方式就有很多种了&#xff0c;目前普遍的方式HTTP/HTTPS&#xff0c;WS/WSS。像webrtc-demo-peerconnection就是实现HTTP这种方式。本文使用WS&…

APIGateway的认证

APIGateway的支持的认证如下&#xff1a; 我们从表格中可以看到&#xff0c;HTTP API 不支持资源策略的功能&#xff0c;另外是通过JWT的方式集成Cognito的。 对于REST API则是没有显示说明支持JWT认证&#xff0c;这个我们可以通过Lambda 自定义的方式来实现。 所以按照这个…

LangChain-Chatchat 开源知识库来了

LangChain-Chatchat 开源知识库来了 LangChain-Chatchat 架构设计LangChain-ChatChat 具体实现过程 一键本地离线部署软件环境硬件环境支持三种部署方式 LangChain-Chatchat 是基于 ChatGLM 等大语言模型与 LangChain 等应用框架实现&#xff0c;开源、可离线部署的 RAG 检索增…

Django数据导出与导入问题

执行: python manage.py loaddata data.json 的常见错误: * 1. UnicodeDecodeError: utf-8 codec cant decode byte 0xff in position 0: invalid start byte* 2. raise JSONDecodeError("Unexpected UTF-8 BOM (decode using utf-8-sig)",...django.core.serializer…

vue的就地更新与v-for的key属性

vue的就地更新 Vue中的就地更新到底是怎么回事&#xff0c;为什么会存在就地更新的现象&#xff1f; 注意下面的例子&#xff0c;使用v-for指令时&#xff0c;没有绑定key值&#xff0c;才有就地更新的现象&#xff0c;因为Vue默认按照就地更新的策略来更新v-for渲染的元素列表…

windows Webrtc +VS2019 (M124)下载编译以及调通测试demo

下载depot tools 设置梯子 git config --global http.proxy 127.0.0.1:10000 git config --global https.proxy 127.0.0.1:10000 下载 $ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 设置depot_tools目录为环境变量 下载webrtc # 设置系统代…

CommunityToolkit.Mvvm笔记1---Instruction

CommunityToolkit.Mvvm是一个官方社区套件(Windows Community Toolkit)&#xff0c;延续了MVVMLight的风格&#xff0c;是一个现代、快速和模块化的 MVVM 库。 它是 .NET 社区工具包的一部分。 第一&#xff1a;入门安装 1&#xff0c;用NuGget安装&#xff0c;搜索Community…

.NET 发布,部署和运行应用程序

.NET应用发布 发布.Net应用有很多种方式&#xff0c;下面列举三种发布方式&#xff1a; 单文件发布跨平台发布Docker发布 单文件发布 右键工程&#xff0c;选择“发布”&#xff0c;部署模式选择“独立”&#xff0c;目标运行时选择自己想要部署到的系统&#xff0c;我这里用…

【Windows10】Anaconda3安装+pytorch+tensorflow+pycharm

文章目录 一、下载anaconda0.双击下载的文件1. 选择All users2. 安装路径3. 勾选环境变量和安装python4.安装完成5.添加环境变量6.测试是否安装成功 二、安装pytorch&#xff08;先看四&#xff01;先检查一下自己电脑是不是只能安装GPU版的1.查看conda图形化界面2.在安装pytor…

ES源码二:集群启动过程

命令行参数解析 Elasticsearch&#xff1a;在main里面创建了Elasticsearch实例&#xff0c;然后调用了main方法&#xff0c;这个main方法最终会调用到父类Command的main方法 这里做了几件事&#xff1a; 注册一个 ShutdownHook&#xff0c;其作用就是在系统关闭的时候捕获IO…

使用SpringBoot3+Vue3开发公寓管理系统

项目介绍 公寓管理系统可以帮助公寓管理员更方便的进行管理房屋。功能包括系统管理、房间管理、租户管理、收租管理、房间家具管理、家具管理、维修管理、维修师傅管理、退房管理。 功能介绍 系统管理 用户管理 对系统管理员进行管理&#xff0c;新增管理员&#xff0c;修改…

CentOS 7开机启动过程,引导和服务,密码的修改

开机启动过程&#xff1a; 引导过程&#xff1a;1.开机自检(BIOS)->2.MBR引导->GRUB菜单->加载内核kernel->systemd进程初始化 程序&#xff1a;执行特定任务的一串代码&#xff0c;静态&#xff0c;存在硬盘中。 进程&#xff1a;运行中的程序叫进程&#xff0…

Unity 点击次数统计功能

介绍 &#x1f4a1;.调用方便&#xff0c;发生点击事件后直接通过"xxx".CacheClick缓存 &#x1f4a1;. 在允许的时间间隔内再次点击会累计点击次数&#xff0c;直到超出后触发事件 传送门&#x1f448;

计算机视觉——OpenCV Python基于颜色识别的目标检测

1. 计算机视觉中的颜色空间 颜色空间在计算机视觉领域的应用非常广泛&#xff0c;它们在图像和视频处理、物体检测等任务中扮演着重要角色。颜色空间的主要作用是将颜色以数值形式表示出来&#xff0c;这样计算机算法就能够对其进行处理和分析。不同的颜色空间有着不同的特点和…

uniapp--登录和注册页面-- login

目录 1.效果展示 2.源代码展示 测试登录 login.js 测试请求 request.js 测试首页index.js 1.效果展示 2.源代码展示 <template><view><f-navbar title"登录" navbarType"4"></f-navbar><view class"tips"><…

2024蓝桥杯每日一题(最大公约数)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一&#xff1a;公约数 试题二&#xff1a;最大公约数 试题三&#xff1a;等差数列 试题四&#xff1a;最大比例 试题五&#xff1a;Hankson的趣味题 试题一&#xff1a;公约数 【题目描述】 …

冯喜运:4.16晚间关注原油EIA数据黄金原油分析

【 黄金技术面分析】&#xff1a;周二黄金价格日内走跌&#xff0c;白盘低点触及2363一线止跌反弹&#xff0c;实时现报价2372一线。目前小时线布林带逐步收口&#xff0c;上轨位于2392一线&#xff0c;下轨布林带在2351位置。今晚阻力关注2389和今日高点2392区域&#xff0c;其…