当前位置: 首页 > news >正文

苍穹外卖项目实战(日记十一)-记录实战教程及问题的解决方法-(day3-3)完善菜品分页查询功能

菜品分页查询

(1)需求分析

(2)代码开发分析

DTO 前端给后端 ,VO 后端给前端;

vo是进行页面展示,dto是前后端数据交互的,pojo是对应数据库表字段

(3)DishController完善

位置:sky-server/src/main/java/com/sky/controller/admin/DishController.java

添加的代码:

/*** 分页查询菜品* @param dishPageQueryDTO* @return*/
@GetMapping("/page")
@ApiOperation("分页查询菜品")
public  Result<PageResult> page(DishPageQueryDTO dishPageQueryDTO){log.info("分页查询菜品:{}", dishPageQueryDTO);PageResult pageResult = dishService.pageQuery(dishPageQueryDTO);return Result.success(pageResult);
}

示意图:

(4)DishService完善

位置:sky-server/src/main/java/com/sky/service/DishService.java

添加的代码:

/*** 分页查询菜品信息* @param dishPageQueryDTO* @return*/
PageResult pageQuery(DishPageQueryDTO dishPageQueryDTO);

示意图:

(5)DishServiceimpl完善

位置:sky-server/src/main/java/com/sky/service/impl/DishServiceimpl.java

添加的代码:

/*** 分页查询菜品信息* @param dishPageQueryDTO* @return*/
public PageResult pageQuery(DishPageQueryDTO dishPageQueryDTO) {PageHelper.startPage(dishPageQueryDTO.getPage(), dishPageQueryDTO.getPageSize());Page<DishVO> page = dishMapper.pageQuery(dishPageQueryDTO);return new PageResult(page.getTotal(), page.getResult());
}

示意图:

(6)DishMapper完善

位置:sky-server/src/main/resources/mapper/DishMapper.xml

添加的代码:

<select id="pageQuery" resultType="com.sky.vo.DishVO">select d.* , c.name as categoryName from dish d left outer join category c on d.category_id = c.id<where><if test="name != null">and d.name like concat('%', #{name}, '%')</if><if test="categoryId != null">and d.category_id = #{categoryId}</if><if test="status != null">and d.status = #{status}</if></where>order by d.create_time desc
</select>

示意图:

(7)测试菜品分页查询功能

1、启动(DeBug)项目,打开swagger接口文档

2、swagger接口文档测试

找到以下位置,输入数据,点击发送

响应码为401,表示JWT令牌过期,需要更换;

响应码为500,说明代码有误,可以检查一下SQL语句;

响应码为200,响应内容有菜品数据,表示成功!

网址:苍穹外卖项目接口文档

3、前后端联调

打开前端网址:菜品管理

查看控制台

有数据出现,即说明菜品分页查询功能成功!

注意:没有图片,学到后面修改时候把所有图片重新修改为自己图片就好了,因为那是老师的OSS路径的东西,不是我们OSS的东西

之前的数据是老师的图片阿里云url,不是你的阿里云的,所以不显示。先上传图片到OSS,把数据库image那栏改成自己的oss中的URL即可(这一步可忽略,后续会解决)

http://www.dtcms.com/a/353432.html

相关文章:

  • 怎么理解API?
  • 用户体验设计 | 什么是 AX?从 UX 到 AX 的演进
  • 数据结构——算法效率的度量(时间复杂度与空间复杂度)
  • Elasticsearch 启动反复重启排查实录:从“内存不足”到“vm.max\_map\_count 过小”
  • 图表可视化地理趋势-Telerik WPF Chart
  • 智能汽车制造:海康NVR管理平台/工具EasyNVR多品牌NVR管理工具/设备实现无插件视频监控直播方案
  • R语言贝叶斯方法在生态环境领域中的技术应用
  • 攻克 Java 分布式难题:并发模型优化与分布式事务处理实战指南
  • APP与WEB测试的区别?
  • 人工智能在医疗领域中辅助外科手术的应用综述
  • 【VSCode】使用VSCode创建Java C/S架构项目
  • 如何用Renix实现网络测试自动化: 从配置分离到多厂商设备支持
  • 【网络编程】NtyCo协程服务器的框架(轻量级的协程方案,人称 “小线程”)
  • 从浏览器无法访问到Docker容器的 FastAPI 服务地址【宿主机浏览器和容器不在同一个网络层面:端口映射】
  • 前端AI应用实践指南:从基础概念到高级实现
  • 云手机的未来发展怎么样?
  • 数据结构(C语言篇):(二)顺序表
  • 状态设计模式
  • 手机冻结技术发展时间轴
  • Flutter项目详解
  • 深度学习实战117-各种大模型(Qwen,MathGPT,Deepseek等)解高考数学题的应用,介绍架构原理
  • C++工程实战入门笔记6-函数(三)关于base16编码的原理和函数模块化实战
  • LINUX --- 网络编程(二)
  • OpenAi在中国拿下“GPT”商标初审!
  • October 2019 Twice SQL Injection
  • Qt图片上传系统的设计与实现:从客户端到服务器的完整方案
  • 对比视频处理单元(VPU)、图形处理器(GPU)与中央处理器(CPU)
  • 多模态模型如何处理和理解图片
  • PPT处理控件Aspose.Slides教程:在.NET中开发SVG到EMF的转换器
  • STM32学习日记