菜品管理开发

一、文件的上传下载

1.文件上传

服务器端接收客户端页面上传到文件,通常会使用apache的两个组件:commons-fileupload、commons-io(io流,文件的上传下载本质上都是对流进行操作),直接使用这两个api代码比较繁琐。

spring框架的spring-web包对文件上传进行了封装,大大简化了服务端代码,我们只需要在Controller的方法中声明一个MultipartFile类型的参数即可接收上传的文件。

代码如下,post请求和upload路径都是element-ui规定好的

2.文件下载

将文件从服务器传输到本地计算机的过程。上传请求成功后自动马上发出下载请求

通过浏览器进行文件下载有两种表现形式:①以附件形式下载,弹出保存对话框,将文件保存到指定磁盘目录;②直接在浏览器中打开。这两种本质上就是服务器端将文件以流的形式写回浏览器的过程。

代码如下

二、新增菜品

下拉列表的数据很简单,一个查询就行了,图片的上传上面也讲过了,就不多赘述了。直接写这个页面保存的请求。

 从前端传过来的数据可以发现,传输的数据与实体类的属性不是一一对应的,所以我们导入DTO(数据传输对象),用于封装页面提交的数据。

然后在DishService及实现类中实现saveWithFlavor方法,本质上这是一对多表处理方法

 启动类这里也要加上注解,才能开启@Transactional

最后别忘了DishController类

三、分页查询

菜品管理中分页查询要注意的是图片展示(即图片下载,上面已完成)和菜品分类的名称

从sql表中查询返回的是分类id,前端需要分类名称,对此我们可以继续使用DTO,在的DishDto类中再加个categoryName属性。

修改上面的分页查询代码

 我之前有点傻,觉得为什么不能直接DishDtoService.page(dishDtoPage,dishLambdaQueryWrapper);这样就不用复制属性了,直接map遍历赋值categoryName就行了,然后我试了一下,报了Table 'reggie.dish_dto' doesn't exist的错误,一下子觉得当时脑子进水了,没有这个表。

 四、修改菜品

1.获取数据回显

代码: 

 2.修改数据

这两个代码本质上就是一对多表的查询和更新,和前面的代码差不多。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值