菜品模块
请先阅读上一篇文章用户模块,菜品模块用户模块大致相同。
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下的点餐系统文件下新建菜品文件夹,并添加如下,