菜品模块

2 篇文章 0 订阅
2 篇文章 0 订阅
本文详细介绍了如何在Spring Boot项目中设计菜品模块,包括创建menu表、Entity类(Menu)、Mapper接口(MenuMapper)的编写,以及Controller层的CRUD操作。通过Postman实现了菜单的增删改查功能。
摘要由CSDN通过智能技术生成

菜品模块

请先阅读上一篇文章用户模块,菜品模块用户模块大致相同。
https://blog.csdn.net/weixin_57334228/article/details/117064306

1.在HeidiSQL中新建一个名字为menu(菜单)的数据表,并添加以下字
段。

在这里插入图片描述
2.打开IDEA,在entity包下新建一个名为Menu的类,并添加与数据库相对应的数据类型,代码如下

package com.sdcet.entity;


import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

public class Menu {
    private Long id;
    private String name;
    private String desc;
    private Double price;
    private Long count;
    private String picture;
    
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private Date updateTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public Long getCount() {
        return count;
    }

    public void setCount(Long count) {
        this.count = count;
    }

    public String getPicture() {
        return picture;
    }

    public void setPicture(String picture) {
        this.picture = picture;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}

3.为菜品模块编写增删改查接口,在mapper包下新增MenuMapper接口,便添加增删改查接口,代码如下

package com.sdcet.mapper;

import com.sdcet.entity.Menu;
import com.sdcet.entity.User;
import org.apache.ibatis.annotations.*;

import java.util.List;


@Mapper
public interface MenuMapper {

    @Select("SELECT * FROM menu WHERE id = #{id}")
    Menu selectMenuById(Long id);

    @Select("SELECT * FROM menu WHERE name=#{name}")
    List<Menu> selectMenuByName(String name);

    @Insert("INSERT INTO menu (name,`desc`,price,count,picture,create_time,update_time) VALUES (#{name}, #{desc}, #{price}, #{count}, #{picture}, #{createTime}, #{updateTime})")
    int save(Menu menu);

    @Update("UPDATE menu SET name=#{name},`desc`=#{desc},price=#{price},count=#{count},picture=#{picture},update_time=#{updateTime} WHERE id=#{id}")
    int update(Menu menu);

    @Delete("DELETE FROM menu WHERE id=#{id}")
    int delete(Long id);

}

4.在controller包下新增菜品模块的controller,名为MenuController,并编写增删改查方法,代码如下.

package com.sdcet.controller;

import com.sdcet.entity.Menu;
import com.sdcet.mapper.MenuMapper;
import com.sdcet.util.ResponseMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
@Controller
@ResponseBody
@RequestMapping("/menu")
public class MenuController {

    @Autowired
    private MenuMapper menuMapper;

    @GetMapping("/getMenuById")
    public ResponseMessage getUserById(Long id) {
        return ResponseMessage.success(menuMapper.selectMenuById(id));
    }

    @RequestMapping("/getMenuByName")
    public ResponseMessage getUserByName(String name) {
        return ResponseMessage.success(menuMapper.selectMenuByName(name));
    }

    @PostMapping("/save")
    public ResponseMessage save(@RequestBody Menu menu) {
        if (menu.getName() == null || "".equals(menu.getName())) {
            return ResponseMessage.fail("Column 'name' cannot be null");
        }
        if (menu.getDesc() == null || "".equals(menu.getDesc())) {
            return ResponseMessage.fail("Column 'desc' cannot be null");
        }
        if (menu.getPrice() == null) {
            return ResponseMessage.fail("Column 'price' cannot be null");
        }
        if (menu.getCount() == null) {
            return ResponseMessage.fail("Column 'count' cannot be null");
        }
        Date date = new Date();
        menu.setCreateTime(date);
        menu.setUpdateTime(date);
        return ResponseMessage.success(menuMapper.save(menu));
    }
    @PutMapping("/update")
    public ResponseMessage update(@RequestBody Menu menu) {
        if (menu.getName() == null || "".equals(menu.getName())) {
            return ResponseMessage.fail("Column 'name' cannot be null");
        }
        if (menu.getDesc() == null || "".equals(menu.getDesc())) {
            return ResponseMessage.fail("Column 'desc' cannot be null");
        }
        if (menu.getPrice() == null) {
            return ResponseMessage.fail("Column 'price' cannot be null");
        }
        if (menu.getCount() == null) {
            return ResponseMessage.fail("Column 'count' cannot be null");
        }
        menu.setUpdateTime(new Date());
        return ResponseMessage.success(menuMapper.update(menu));
    }

    @DeleteMapping("/delete")
    public int delete(Long id) {
        return menuMapper.delete(id);
    }
}

@RequestMapping("/menu")这句话,是因为用户模块与菜品模块都有"/save","/delete","/update"因为重复,访问的时候会出错,这句话添加就是先访问menu在访问save之类的接口。
5.在Postman下的点餐系统文件下新建菜品文件夹,并添加如下,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这样菜品模块就编写完成

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值