当前位置:实例文章 » 其他实例» [文章]套餐管理模块开发 -- 手把手教你做ssm+springboot入门后端项目黑马程序员瑞吉外卖(六)

套餐管理模块开发 -- 手把手教你做ssm+springboot入门后端项目黑马程序员瑞吉外卖(六)

发布人:shili8 发布时间:2025-02-06 23:50 阅读次数:0

**套餐管理模块开发 -- 手把手教你做 SSM + SpringBoot 入门后端项目 黑马程序员瑞吉外卖 ( 六 )**

在前面的几篇文章中,我们已经完成了用户管理、订单管理和支付管理的开发。今天我们要开始开发最重要的一部分——套餐管理模块。

**1.什么是套餐管理模块?**

套餐管理模块是瑞吉外卖系统中的核心功能之一,它负责管理所有的菜品信息,包括菜名、价格、描述等。用户可以通过这个模块来浏览和选择自己喜欢的菜品。

**2. 需求分析**

根据需求,我们需要实现以下功能:

* 菜品列表展示* 菜品详情展示* 菜品添加* 菜品修改* 菜品删除**3. 设计数据库表结构**

为了存储菜品信息,我们需要设计一个名为 `tb_menu` 的数据库表。表结构如下:

| 字段名称 | 类型 | 描述 |
| --- | --- | --- |
| id | int | 主键,自增 |
| name | varchar(50) | 菜品名称 |
| price | decimal(10,2) | 菜品价格 |
| description | text | 菜品描述 |

**4. SpringBoot 配置**

在 `application.properties` 文件中,我们需要配置数据库连接信息:

propertiesspring.datasource.url=jdbc:mysql://localhost:3306/rgydbspring.datasource.username=rootspring.datasource.password=123456spring.jpa.hibernate.ddl-auto=update


**5. 实体类设计**

我们需要创建一个 `Menu` 实体类来表示菜品信息:

java@Entity@Table(name = "tb_menu")
public class Menu {
 @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
 private Long id;
 @Column(nullable = false, length =50)
 private String name;
 @Column(nullable = false, precision =10, scale =2)
 private BigDecimal price;
 @Column(length =255)
 private String description;
 // getter 和 setter 方法}


**6. Repository 接口设计**

我们需要创建一个 `MenuRepository` 接口来提供数据访问功能:

javapublic interface MenuRepository extends JpaRepository {
}


**7. Service 类设计**

我们需要创建一个 `MenuService` 类来封装业务逻辑:

java@Servicepublic class MenuService {
 @Autowired private MenuRepository menuRepository;
 public List getAllMenus() {
 return menuRepository.findAll();
 }
 public Menu getMenuById(Long id) {
 return menuRepository.findById(id).orElse(null);
 }
 public void addMenu(Menu menu) {
 menuRepository.save(menu);
 }
 public void updateMenu(Menu menu) {
 menuRepository.save(menu);
 }
 public void deleteMenu(Long id) {
 menuRepository.deleteById(id);
 }
}


**8. Controller 类设计**

我们需要创建一个 `MenuController` 类来处理 HTTP 请求:

java@RestController@RequestMapping("/api/menus")
public class MenuController {
 @Autowired private MenuService menuService;
 @GetMapping public List getAllMenus() {
 return menuService.getAllMenus();
 }
 @GetMapping("/{id}")
 public Menu getMenuById(@PathVariable Long id) {
 return menuService.getMenuById(id);
 }
 @PostMapping public void addMenu(@RequestBody Menu menu) {
 menuService.addMenu(menu);
 }
 @PutMapping("/{id}")
 public void updateMenu(@PathVariable Long id, @RequestBody Menu menu) {
 menuService.updateMenu(menu);
 }
 @DeleteMapping("/{id}")
 public void deleteMenu(@PathVariable Long id) {
 menuService.deleteMenu(id);
 }
}


**9. 测试**

我们可以使用 Postman 或其他 HTTP 客户端工具来测试我们的 API:

* GET /api/menus: 获取所有菜品列表* GET /api/menus/{id}: 获取指定 ID 的菜品信息* POST /api/menus: 添加新菜品* PUT /api/menus/{id}: 更新指定 ID 的菜品信息* DELETE /api/menus/{id}: 删除指定 ID 的菜品通过以上步骤,我们成功地开发了一个基本的套餐管理模块。

相关标签:后端
其他信息

其他资源

Top