删除套餐(关联表的删除操作,批量删除,单个删除)
需求分析:
代码开发-梳理交互过程:
重写接口:
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("套餐数据删除成功");}
删除套餐(关联表的删除操作,批量删除,单个删除)相关推荐
- mysql如果存在字段删除_mysql判断表是否存在然后批量删除的操作
1.在网上找了许久都没有找到判断表是否存在,然后模糊删除的.但是最后找到了一个曲线救国的方法. 需求:删除表中后缀是 _待删除 的表 1.第一步,找到所有的这样的表,并且拼装好删除表的sql Sele ...
- SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)
实验名称:数据库表的基本操作与表内数据操作 实验目的: 掌握数据库表创建方法(交互式.T-SQL法) 掌握修改数据库表结构的方法 掌握删除数据库表的方法 掌握交互式EXCEL文件录入数据至数据库表的方 ...
- linux 批量删除任务,Linux-Shell脚本学习心得之批量创建、删除用户
继上次博文,继续为大家分享脚本实例:批量创建.删除用户 说到,用户的管理,大家都不会陌生,就是创建.删除.禁用等等的管理,但,大多都是管 理员手工操作,效率不是很高,今天,就给大家说说Shell脚本是 ...
- Oracle删除用户以及表空间的操作步骤
首先是出于测试需要,之前搭建的测试环境现在访问的时候无法访问,无法完成测试,所以需要检查一下. 在Oracle当中导入dmp文件时候显示在Oracle中导入失败,出现了图中所示的错误.根据网上的经验借 ...
- 【瑞吉外卖】day07:新增套餐、套餐分页查询、 删除套餐
目录 1. 新增套餐 1.1 需求分析 1.2 数据模型 1.3 准备工作 1.4 前端页面分析 1.5 代码开发 2. 套餐分页查询 2.1 需求分析 2.2 前端页面分析 2.3 代码开发 2.4 ...
- MYSQL数据库字段关联_MySQL数据库 字段操作 多表关系(更新中...)
外键 (foreign key) ## 外键 ```mysql # 作者(author):id,name,sex,age,mobile, detail_id # 作者详情(author_detail) ...
- MySQL 为什么表的数据删除一般,表文件大小不变?
日常读书笔记 前提------针对InnoDB引擎 InnoDB表结构 为什么删除一半,表的大小不变? 参数 数据删除的流程 数据页的复用和表的复用不一致,因为结构是B+树,有序,删除过程会造成空洞 ...
- linux删除相同用户,Linux 批量添加和删除用户
Linux批量添加和删除用户 一,工具作用Linux批量添加和删除用户 在Linux用户管理中,经常需要用到批量添加或删除用户:如果用 useradd或adduser来添加大量用户,对系统管理员的体力 ...
- CoreData 从入门到精通(三)关联表的创建
上篇博客中讲了 CoreData 里增删改查的使用,学到这里已经可以应对简单的数据存储需求了.但是当数据模型复杂起来时,例如你的模型类中除了要存储 CoreData 里支持的数据类型外,还有一些自定义 ...
- Mysql库,表的详细操作
一 库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset utf8; 1.2 数据库命名规则 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不能使 ...
最新文章
- 论坛第20000名幸运儿是谁?
- IT人的自我导向型学习:学习的1个理念和2个心态
- spark 随机森林算法案例实战
- 选择排序的思想及其实现
- 2019\National _C_C++_C\试题 C: 平方拆分
- 使用Pytorch处理多维特征的输入
- int?id与id??1 的意思
- 计算机科学在各专业领域中的应用,计算机科学在各专业领域中的应用
- android源码国内镜像,Fuchsia OS 源代码国内镜像上线
- 系统学习机器学习之参数方法(三)
- 计算机文件夹无法排序,win7系统怎么无法排序磁盘文件夹?手动排序方法
- C++ 面向对象的编程语言有哪些特点?
- Flink Interval Join Left Join
- 如何用计算机打出平方,平方符号在电脑怎么打出来(电脑输入平方符号的2种方法)...
- js 爱心随鼠标移动 产生 并 消散 (源码)
- idea如何关闭代码提示,设置快捷键提示代码
- SpringBoot + JWT + Redis 开源知识社区系统
- PS制作漂亮紫色霓虹灯光文字
- Grandpa's Estate (凸包)
- C语言 linux 木马,C语言写病毒,木马
热门文章
- 【SpringBoot】65、SpringBoot整合Canal+RabbitMQ监听MySQL实现数据同步更新Redis缓存
- 链塔智库|区块链产业要闻及动态周报(2021年3月第3周)
- OFFICE 2007 序列号 算号器
- 909422229_腾讯云域名备案教程一
- 现在可以下载适用于Windows 7和Windows Server 2008 R2的Internet Explorer 11稳定版
- [深度学习论文笔记][Visualizing] Striving for Simplicity: The All Convolutional Net
- oracle标志位作用是什么意思,oracle实现查询某状态标志位最大连续出现次数
- 论文解读:华盛顿大学教授Pedro Domingos技术论文:机器学习中一些有用的知识(一)...
- 软件测试之软件测试用例
- ABAQUS材料子程序学习(20年12月1日)