在该表中,菜品的名称name,菜品的原价price 实际上都是冗余字段,因为我们在这张表中存储了菜品
的ID(dish_id),根据该ID我们就可以查询出name,price的数据信息,而这里我们又存储了
name,price,这样的话,我们在后续的查询展示操作中,就不需要再去查询数据库获取菜品名称和原价
了,这样可以简化我们的操作。
1.3 准备工作
在开发业务功能前,先将需要用到的类和接口基本结构创建好,在做这一块儿的准备工作时,我们无需
准备Setmeal的相关实体类、Mapper接口、Service接口及实现,因为之前在做分类管理的时候,我
们已经引入了Setmeal的相关基础代码。 接下来,我们就来完成以下的几步准备工作:
1). 实体类 SetmealDish
ps.直接从课程资料中导入即可,Setmeal实体前面课程中已经导入过了。
所属包: com.itheima.reggie.entity
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 套餐菜品关系
*/
@Data
public class SetmealDish implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
//套餐id
private Long setmealId;
//菜品id
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2). DTO SetmealDto
该数据传输对象DTO,主要用于封装页面在新增套餐时传递过来的json格式的数据,其中包含套餐的基
本信息,还包含套餐关联的菜品集合。直接从课程资料中导入即可。
所属包: com.itheima.reggie.dto
private Long dishId;
//菜品名称 (冗余字段)
private String name;
//菜品原价
private BigDecimal price;
//份数
private Integer copies;
//排序
private Integer sort;
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableField(fill = FieldFill.INSERT)
private Long createUser;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updateUser;
//是否删除
private Integer isDeleted;
}
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
3). Mapper接口 SetmealDishMapper
所属包: com.itheima.reggie.mapper
4). 业务层接口 SetmealDishService
所属包: com.itheima.reggie.service
5). 业务层实现类 SetmealDishServiceImpl
import com.itheima.reggie.entity.Setmeal;
import com.itheima.reggie.entity.SetmealDish;
import lombok.Data;
import java.util.List;
@Data
public class SetmealDto extends Setmeal {
private List<SetmealDish> setmealDishes;//套餐关联的菜品集合
private String categoryName;//分类名称
}
1
2
3
4
5
6
7
8
9
10
11
12
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.itheima.reggie.entity.SetmealDish;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SetmealDishMapper extends BaseMapper<SetmealDish> {
}
1
2
3
4
5
6
7
import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.reggie.entity.SetmealDish;
public interface SetmealDishService extends IService<SetmealDish> {
}
1
2
3
4
5
评论0