苍穹外卖day13

发布时间:2026/9/11 20:29:11

苍穹外卖day13 自己写 菜品批量删除controllerDeleteMapping ApiOperation(菜品删除) public Result delete(String ids){ log.info(菜品删除{}, ids); dishService.delete(ids); return Result.success(); }问题:RequestParam从URL 参数中取值例如?ids1,2,3加上这个 spring才能知道把前端传来的请求参数放进ids这个变量里ids只能单个删除 要传入多个参数 需要使用列表泛型ListLong ids 传入一个参数 里面包含多个需要删除的东西 spring 会自动分开2改调用方法只用变量名 不要类型日志也是---------------------------------------------------------------------------------------------------------------------------------开始srvice层接口void delete(ListLong ids); }具体实现public void delete(ListLong ids) { for(Long id : ids){ } }能力有限 只能写这么些了提示想一想。你只有一个id。id 1你知道这个菜品的信息吗不知道。所以是不是应该根据id查询菜品。于是你需要Mapper有一个方法。例如Dish getById(Long id);那么Service里面就是Dish dish dishMapper.getById(id);自己总结一下此时只有一个id 当然需要了解这个id下的菜品状态所以需要调用mapper层来完成涉及多次数据库操作的业务通常都会加上Transactional 事务小错误纠正 变量引用指向了一个对象接口声明了一个方法但没有具体实现DishMapper管的是 Dish表现在查的是这个菜品有没有出现在套餐里面这其实查的是SetmealDish表所以 新创建俩文件 注入不要忘记Mapper然后 补充一个知识点现在用Autowired private SetmealDishMapper setmealDishMapper;能工作。但是现在Spring Boot更推荐private final SetmealDishMapper setmealDishMapper; public DishServiceImpl(SetmealDishMapper setmealDishMapper){ this.setmealDishMapper setmealDishMapper; }叫构造器注入。然后 接着删除现在根据 count的数量进行删除决定如果count1 不能删除要抛异常0可以删除关于 java异常机制的补充抛异常和return一个报错有什么区别Service接口原本是什么void delete(ListLong ids); 这个方法不返回任何东西但是你现在return Result.error();你返回了一个Result。直接类型冲突。那你改成public Result delete(ListLong ids)可以吗技术上可以。但是架构上不好。为什么Controller应该负责返回Result它负责HTTP响应应该是什么格式。但是Service负责什么Service负责业务能不能执行。它不应该关心HTTP状态码JSON格式Result对象那Service怎么告诉Controller失败这就是异常。你可能之前以为throw是不是指定扔给某个地方不是。throw的意思只是当前方法无法处理这个问题把异常交给调用我的人。至于最后谁处理取决于调用链。这里的调用者是contorller所以当然也就抛给了contorller比如DeleteMapping public Result delete(){ dishService.delete(ids); return Result.success(); }没有try{ }catch(Exception e){ }怎么办Spring接管。Spring MVC有一个机制全局异常处理器。剩下的mapper和sql就先不研究了---------------------------------------------------------------------------------------------------------------------------------现在开始修改菜品踩到的坑查询不用事务多表修改需要查什么表 返回什么数据类型list表示多条记录 而不是多个字段通常用在分页查询了解。。。。 联表查询一对一的关系 可以使用 可以减少查找数据库的次数喵~Mapper 从来都不是返回数据库表而是返回 SQL 映射出来的 Java 对象。一个重点 怎么把 flavors补充到dishvo 里面去好了接下来的 我懒得写了
延伸阅读

更多相关文章

2026/9/9 0:14:35

杰森·白:“动漫IP”是企业的灵魂与伴侣

动漫IP是企业品牌精神、文化内核的具象载体,优质IP凭借人格力、内容力、适配力三大核心特质,能把企业的理念、温度转化为大众可感知的形象,成为品牌区别于其他竞品的核心标识。‌动漫IP会伴随企业全生命周期成长,可通过跨媒介衍生…

2026/9/11 22:39:20

Twitter数据导出实战指南:三步实现完整社交媒体数据备份

Twitter数据导出实战指南:三步实现完整社交媒体数据备份 【免费下载链接】twitter-web-exporter Export tweets, bookmarks, lists and much more from Twitter(X) web app. (推文/书签/收藏/列表导出工具) 项目地址: https://gitcode.com/gh_mirrors/tw/twitter-…

2026/9/12 4:34:47

Java StringEntry接口设计与实现最佳实践

1. StringEntry接口的设计背景与核心诉求在软件开发中,数据结构的抽象与封装一直是提升代码复用性和可维护性的关键手段。StringEntry这个接口概念的提出,本质上是为了解决字符串类型数据在多种场景下的统一操作问题。我最近在重构一个历史遗留系统时&am…

2026/9/12 4:34:47

海光DCU接入K8s:整卡、共享与vDCU调度实战解析

如果你接过“把一批海光 DCU 节点接进 Kubernetes,再让上层 AI 平台和 DeepSeek 推理服务跑起来”这种需求,第一反应大概率是:装个驱动、部署个 Device Plugin 不就行了?真动手之后才会发现,整卡、共享、vDCU 虚拟化是…

2026/9/12 4:34:47

2026年软考高级系统分析师论文备考指南与高分技巧

1. 2026年软考高级系统分析师论文备考指南作为国内IT领域最具含金量的职业资格认证之一,软考高级系统分析师(以下简称"系分")的论文环节一直是考生面临的"拦路虎"。不同于选择题和案例分析,论文写作不仅需要扎…

2026/9/12 4:34:47

Linux下TFTP服务器安装配置与优化指南

1. Linux下TFTP服务器的安装与配置指南在嵌入式开发和网络设备维护领域,TFTP(Trivial File Transfer Protocol)作为轻量级文件传输协议,因其实现简单、资源占用少的特点,成为固件更新、配置文件传输的标配工具。不同于…

2026/9/12 4:34:47

ThinkPHP在线客服系统实战:多坐席分配与部署调优全解析

简介:基于ThinkPHP框架打造的运营级在线客服系统源码,面向需要快速搭建网页客服、多坐席协作与智能客服平台的开发者和企业技术团队,可直接用于电商、官网、SaaS产品等场景的客户服务模块。系统包含实时聊天、坐席状态管理、访客分配、智能自…

2026/9/12 4:29:47

PyMC 采样与推断方法实战指南:MCMC、变分推断与诊断调优

PyMC 采样与推断方法实战指南:MCMC、变分推断与诊断调优 【免费下载链接】scientific-agent-skills Turn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills…

2026/9/12 2:05:33

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/12 3:55:12

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/12 0:04:17

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现

简介:本资源是一份面向智能优化算法研究者与MATLAB初学者的仿生智能算法实践代码包,聚焦于长鼻浣熊优化算法(COA)的多策略改进与性能验证。针对传统COA易陷局部最优、收敛精度不足等问题,作者融合Circle映射初始化提升…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/10 12:32:02

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/10 15:49:53

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码