需求分析:

代码开发-梳理交互过程:

重写接口:

public interface SetmealService extends IService<Setmeal> {/*** 新增套餐,同时需要保存套餐和菜品的关联* @param setmealDto*/public void saveWithDish(SetmealDto setmealDto);/*** 删除套餐,同时需要删除套餐和菜品的关联数据* @param ids*/public void removeWithDish(List<Long> ids);
}

重写方法:

/*** 删除套餐,同时需要删除套餐和菜品的关联数据* @param ids*/@Overridepublic void removeWithDish(List<Long> ids) {//select count(*) from setmeal where id in(1,2,3) and status = 1;//查询套餐状态,确定是否可用删除LambdaQueryWrapper<Setmeal> eq = Wrappers.lambdaQuery(Setmeal.class).in(Setmeal::getId, ids).eq(Setmeal::getStatus, 1);int count = this.count(eq);if(count > 0){//如果不能删除,抛出一个业务异常throw new CustomException("套餐正在售卖中,不能删除");}//如果可以删除,先删除套餐表中的数据---setmealthis.removeByIds(ids);//delete from setmeal_dish where setmeal_id in(1,2,3);LambdaQueryWrapper<SetmealDish> in = Wrappers.lambdaQuery(SetmealDish.class).in(SetmealDish::getSetmealId, ids);//删除关系表中的数据---setmeal_dishsetmealDishService.remove(in);}

调用重写的方法:

    /*** 删除套餐* @param ids* @return*/@DeleteMappingpublic R<String> delete(@RequestParam List<Long> ids){setmealService.removeWithDish(ids);return R.success("套餐数据删除成功");}

删除套餐(关联表的删除操作,批量删除,单个删除)相关推荐

  1. mysql如果存在字段删除_mysql判断表是否存在然后批量删除的操作

    1.在网上找了许久都没有找到判断表是否存在,然后模糊删除的.但是最后找到了一个曲线救国的方法. 需求:删除表中后缀是 _待删除 的表 1.第一步,找到所有的这样的表,并且拼装好删除表的sql Sele ...

  2. SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)

    实验名称:数据库表的基本操作与表内数据操作 实验目的: 掌握数据库表创建方法(交互式.T-SQL法) 掌握修改数据库表结构的方法 掌握删除数据库表的方法 掌握交互式EXCEL文件录入数据至数据库表的方 ...

  3. linux 批量删除任务,Linux-Shell脚本学习心得之批量创建、删除用户

    继上次博文,继续为大家分享脚本实例:批量创建.删除用户 说到,用户的管理,大家都不会陌生,就是创建.删除.禁用等等的管理,但,大多都是管 理员手工操作,效率不是很高,今天,就给大家说说Shell脚本是 ...

  4. Oracle删除用户以及表空间的操作步骤

    首先是出于测试需要,之前搭建的测试环境现在访问的时候无法访问,无法完成测试,所以需要检查一下. 在Oracle当中导入dmp文件时候显示在Oracle中导入失败,出现了图中所示的错误.根据网上的经验借 ...

  5. 【瑞吉外卖】day07:新增套餐、套餐分页查询、 删除套餐

    目录 1. 新增套餐 1.1 需求分析 1.2 数据模型 1.3 准备工作 1.4 前端页面分析 1.5 代码开发 2. 套餐分页查询 2.1 需求分析 2.2 前端页面分析 2.3 代码开发 2.4 ...

  6. MYSQL数据库字段关联_MySQL数据库 字段操作 多表关系(更新中...)

    外键 (foreign key) ## 外键 ```mysql # 作者(author):id,name,sex,age,mobile, detail_id # 作者详情(author_detail) ...

  7. MySQL 为什么表的数据删除一般,表文件大小不变?

    日常读书笔记 前提------针对InnoDB引擎 InnoDB表结构 为什么删除一半,表的大小不变? 参数 数据删除的流程 数据页的复用和表的复用不一致,因为结构是B+树,有序,删除过程会造成空洞 ...

  8. linux删除相同用户,Linux 批量添加和删除用户

    Linux批量添加和删除用户 一,工具作用Linux批量添加和删除用户 在Linux用户管理中,经常需要用到批量添加或删除用户:如果用 useradd或adduser来添加大量用户,对系统管理员的体力 ...

  9. CoreData 从入门到精通(三)关联表的创建

    上篇博客中讲了 CoreData 里增删改查的使用,学到这里已经可以应对简单的数据存储需求了.但是当数据模型复杂起来时,例如你的模型类中除了要存储 CoreData 里支持的数据类型外,还有一些自定义 ...

  10. Mysql库,表的详细操作

    一 库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset utf8; 1.2 数据库命名规则 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不能使 ...

最新文章

  1. 论坛第20000名幸运儿是谁?
  2. IT人的自我导向型学习:学习的1个理念和2个心态
  3. spark 随机森林算法案例实战
  4. 选择排序的思想及其实现
  5. 2019\National _C_C++_C\试题 C: 平方拆分
  6. 使用Pytorch处理多维特征的输入
  7. int?id与id??1 的意思
  8. 计算机科学在各专业领域中的应用,计算机科学在各专业领域中的应用
  9. android源码国内镜像,Fuchsia OS 源代码国内镜像上线
  10. 系统学习机器学习之参数方法(三)
  11. 计算机文件夹无法排序,win7系统怎么无法排序磁盘文件夹?手动排序方法
  12. C++ 面向对象的编程语言有哪些特点?
  13. Flink Interval Join Left Join
  14. 如何用计算机打出平方,平方符号在电脑怎么打出来(电脑输入平方符号的2种方法)...
  15. js 爱心随鼠标移动 产生 并 消散 (源码)
  16. idea如何关闭代码提示,设置快捷键提示代码
  17. SpringBoot + JWT + Redis 开源知识社区系统
  18. PS制作漂亮紫色霓虹灯光文字
  19. Grandpa's Estate (凸包)
  20. C语言 linux 木马,C语言写病毒,木马

热门文章

  1. 【SpringBoot】65、SpringBoot整合Canal+RabbitMQ监听MySQL实现数据同步更新Redis缓存
  2. 链塔智库|区块链产业要闻及动态周报(2021年3月第3周)
  3. OFFICE 2007 序列号 算号器
  4. 909422229_腾讯云域名备案教程一
  5. 现在可以下载适用于Windows 7和Windows Server 2008 R2的Internet Explorer 11稳定版
  6. [深度学习论文笔记][Visualizing] Striving for Simplicity: The All Convolutional Net
  7. oracle标志位作用是什么意思,oracle实现查询某状态标志位最大连续出现次数
  8. 论文解读:华盛顿大学教授Pedro Domingos技术论文:机器学习中一些有用的知识(一)...
  9. 软件测试之软件测试用例
  10. ABAQUS材料子程序学习(20年12月1日)