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

苍穹外卖--菜品分页查询

1.需求分析和设计

产品原型:

业务规则:

根据页码展示菜品信息

每页展示10条数据

分页查询时可以根据需要输入菜品名称、菜品分类、菜品状态进行查询

接口设计:

根据菜品分页查询接口定义设计对应的DTO:

根据菜品分页查询接口定义设计对应的VO:

2.代码开发

Controller层代码:

/*** 菜品分页查询* @param dishPageQueryDTO* @return*/@GetMapping("/page")@ApiOperation("菜品分页查询")public Result<PageResult> page(DishPageQueryDTO dishPageQueryDTO){//分页查询统一返回的是PageResult,因为返回的是Query,所以不需要注解接受PageResult pageResult = dishService.pageQuery(dishPageQueryDTO);return Result.success(pageResult);}

Service层代码:

 /*** 菜品分页查询* @param dishPageQueryDTO* @return*/PageResult pageQuery(DishPageQueryDTO dishPageQueryDTO);
/*** 菜品分页查询* @param dishPageQueryDTO* @return*/@Overridepublic PageResult pageQuery(DishPageQueryDTO dishPageQueryDTO) {PageHelper.startPage(dishPageQueryDTO.getPage(),dishPageQueryDTO.getPageSize());// 使用PageHelper设置分页参数(当前页码和每页记录数)Page<DishVO> page = dishMapper.pageQuery(dishPageQueryDTO);// 调用Mapper层方法执行分页查询,返回Page对象(包含分页信息和查询结果)return new PageResult(page.getTotal(),page.getResult());}

Mapper层代码:

/*** 菜品分页查询* @param dishPageQueryDTO* @return*/Page<DishVO> pageQuery(DishPageQueryDTO dishPageQueryDTO);

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>

http://www.xdnf.cn/news/6202.html

相关文章:

  • 优雅的请求接口(java)
  • 制造业降本增效的核心要素
  • 通过SMTP协议实现Linux邮件发送配置指南
  • 0514得物、0509滴滴面试总结复盘
  • 20250514 无限空间,当 a(t)→0,所有‌物理距离‌ d→0 ‌,这个状态是什么,是无限大的无限致密状态吗
  • 什么是临时对象?临时对象在什么情况下产生?
  • 网络检测工具InternetTest v8.9.1.2504 单文件版,支持一键查询IP/DNS、WIFI密码信息
  • 自营交易考试中,怎么用“黄昏之星”形态做出漂亮反转单?
  • 2025年文化传播、心理学与公共管理国际会议(CPPM 2025)
  • unordered_map和unordered的介绍和使用
  • 解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs- consistency is the key
  • acwing 1488. 最短距离 超级源点 最短路 堆优化Dijkstra
  • Grafana变化趋势:Graph面板
  • SDIO EMMC中ADMA和SDMA简介
  • Linux常用命令40——alias设置命令别名
  • numpy 中数组的广播
  • 打破边界,智评未来:AI如何重塑学科交叉融合的评价体系?
  • 深度伪造对知识产权保护的新挑战与应对之策
  • 算法题(146):最大子段和
  • 山东大学软件学院软件工程计算机图形学复习笔记(2025)
  • 现代计算机图形学Games101入门笔记(四)
  • MySQL中的索引下推技术(ICP)
  • 简单生成验证码(适合初学)
  • 德施曼618首战全平台销额、销量双冠军 京东天猫官榜第一
  • 最优化方法Python计算:有约束优化应用——近似线性可分问题支持向量机
  • 常见的几种网络攻击
  • SQL注入报错“Illegal mix of collations for operation ‘UNION‘”解决办法
  • 精益数据分析(59/126):移情阶段的深度博弈——如何避开客户访谈的认知陷阱
  • persist和cache方法
  • STC32G12K12实战:串口通信