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

发布于:2025-08-29 ⋅ 阅读:(17) ⋅ 点赞:(0)

菜品分页查询

(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即可(这一步可忽略,后续会解决)


网站公告

今日签到

点亮在社区的每一天
去签到