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

接口-菜品分页查询

业务内容

页面上菜品根据菜品名称、菜品分类、售卖状态三个字段进行分页查询。

在请求参数中携带了菜品名称、菜品分类、售卖状态三个字段参数。

返回PageResult类型的实体。

注意:在返回数据中在records下有个categoryName,这个字段的内容在category表中,除了这个字段的其他内容都在dish表中。所以我们定义了一个vo,DishVO

DishVO中包含了需要返回的dish表中的内容和从category表查出来的categoryName字段。

public class DishVO implements Serializable {

    private Long id;
    //菜品名称
    private String name;
    //菜品分类id
    private Long categoryId;
    //菜品价格
    private BigDecimal price;
    //图片
    private String image;
    //描述信息
    private String description;
    //0 停售 1 起售
    private Integer status;
    //更新时间
    private LocalDateTime updateTime;
    //分类名称
    private String categoryName;
    //菜品关联的口味
    private List<DishFlavor> flavors = new ArrayList<>();

    //private Integer copies;
}

controller

@GetMapping("/page")
    public Result<PageResult> DishPageQuery(DishPageQueryDTO dishPageQueryDTO){
        log.info("分页查询参数:{}",dishPageQueryDTO);
        PageResult pageResult = dishService.DishPageQuery(dishPageQueryDTO);
        return Result.success(pageResult);
    }

service

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

mapper

注意:由于涉及两个表的内容,所以是多表join查询

返回resultType要注意是com.sky.vo.DishVO

多个查询条件要加and

<select id="DishPageQuery" 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
        <if test="name != null and name != ''">
            and d.name like concat("%",#{name},"%")
        </if>
        <if test="categoryId != null and categoryId != ''">
            and d.category_id=#{categoryId}
        </if>
        <if test="status != null and status != ''">
            and d.status=#{status}
        </if>
    </select>


文章转载自:

http://CBYoLKee.trsxw.cn
http://rHP9Ggp6.trsxw.cn
http://geLQsqKg.trsxw.cn
http://EH3bYHo2.trsxw.cn
http://hd9nwYlk.trsxw.cn
http://BMSY9tJp.trsxw.cn
http://1KpYEAML.trsxw.cn
http://GYu6xnaB.trsxw.cn
http://yQYK4r29.trsxw.cn
http://EsXHQhDz.trsxw.cn
http://J1VNSBPR.trsxw.cn
http://7MCsK9Vs.trsxw.cn
http://Qed8ZLCK.trsxw.cn
http://4CK8CzDx.trsxw.cn
http://XKqa4LGa.trsxw.cn
http://YIg7eGcO.trsxw.cn
http://VyZb7IIA.trsxw.cn
http://ZGrZt0pj.trsxw.cn
http://EBB1bsRY.trsxw.cn
http://LULplc9h.trsxw.cn
http://mrbq5fgm.trsxw.cn
http://fbcdo4qv.trsxw.cn
http://U2yj1mWr.trsxw.cn
http://7CNc0IFn.trsxw.cn
http://PPhGBh1M.trsxw.cn
http://DUrzIqfA.trsxw.cn
http://w60JcEpj.trsxw.cn
http://BxOaPXKg.trsxw.cn
http://9ophhZ0Z.trsxw.cn
http://0jTOVZPC.trsxw.cn
http://www.dtcms.com/a/57175.html

相关文章:

  • 实战 - 使用 AutoAWQ 进行量化
  • 【量化科普】Beta,贝塔系数
  • 【数据仓库与数据挖掘基础】第二章 数据仓库原理
  • Linux和gcc/g++常用命令总结
  • Pytorch实现之S2GAN实现Sentinel-2光谱波段的空间分辨率
  • 【微信小程序】uniapp开发微信小程序
  • “Predict”和“Foresee”的区别
  • 算法005——有效三角形个数
  • 基于cross-attention算法关联文本和图像、图像和动作
  • 信息安全访问控制、抗攻击技术、安全体系和评估(高软42)
  • Matlab:矩阵运算篇——矩阵
  • Python —— pow()函数
  • 体验开源OpenHarmony+stratovirt模拟器
  • 第十六届蓝桥杯单片机组4T模拟赛二
  • JVM常用概念之String.intern()
  • Linux(Centos 7.6)命令详解:zip
  • 递归专题刷题
  • linux下ollama离线安装
  • Unity游戏开发中的网格简化与LOD技术(Mesh Simplification LOD)
  • Linux基础--文件权限+软件包管理+管道符
  • mysql中in和exists的区别?
  • 深入解析ECDSA与RSA公钥算法:原理、对比及AWS最佳实践
  • 【AD】5-14 多跟走线设置
  • 16位-32768的补码和原码是什么【补码和原码的转换】
  • spring IOC(实现原理)
  • 如何让一个类作为可调用对象被thread调用?
  • WSL with NVIDIA Container Toolkit
  • 基于单片机的风速报警装置设计
  • 深度学习模型组件之优化器--自适应学习率优化方法(Adadelta、Adam、AdamW)
  • 【Ant Design X Vue】Vue 首个 AI 组件库发布!