欢迎光临
我们一直在努力

2026最新Springboot美食推荐分享系统的设计与实现

文章目录

    • 前言
    • 源码获取(稀缺资源,尽快转存到自己网盘,防止失效)
    • 详细视频演示
    • 具体实现截图
      • 后端框架SpringBoot
      • VUE
      • 持久层框架MyBaits
    • 成功系统案例:
    • 参考代码
    • 数据库

前言

博主介绍:CSDN特邀作者、985高校计算机专业毕业、现任某互联网大厂高级全栈开发工程师、Gitee/掘金/华为云/阿里云/GitHub等平台持续输出高质量技术内容、深耕Java、小程序、前端、python等技术领域和毕业项目实战,以及程序定制化开发、全栈讲解。

💯文末获取源码+数据库💯 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人。

源码获取(稀缺资源,尽快转存到自己网盘,防止失效)

代码链接:https://pan.quark.cn/s/6c34d4203da9 说明链接:https://pan.quark.cn/s/fa95426cb01f

详细视频演示

视频演示

具体实现截图

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

后端框架SpringBoot

Spring Boot允许开发者快速构建出既可以独立运行又满足生产级别标准的Spring基础应用程序。此框架通过提供一系列便捷的工具和服务,极大地促进了基于Spring的应用开发工作的效率和质量。通过提供一系列大型项目中常用的默认配置,Spring Boot最大化减少配置文件的使用,开发者能够迅速启动和运行Spring应用程序。

Spring Boot通过约定优于配置的原则,避免了许多传统Spring应用开发时繁琐的配置,该框架支持对内嵌服务器的自动配置,如Tomcat、Jetty或Undertow,从而简化了Web应用的部署过程。

VUE

Vue.js是一套构建用户界面的渐进式框架,采用自底向上增量开发的设计,核心库只关注视图层。另一方面,Vue完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。 Vue是一个框架,也是一个生态。可以通过渐进式增强静态的HTML、作为Web Components嵌入、单页应用 (SPA)、全栈/服务端渲染(SSR)、Jamstack/静态站点生成(SSG)、桌面端、移动端、WebGL,命令行终端中界面等方式使用Vue。

持久层框架MyBaits

MyBatis是一个开源的持久层框架,它可以帮助开发者简化数据库操作的编写和管理。MyBatis的核心思想是将SQL语句和Java代码分离,通过XML或注解的方式来描述数据库操作,从而实现了数据访问层的解耦和灵活性。

MyBatis的优势主要包括以下几点:

简化数据库操作:MyBatis通过提供强大的SQL映射功能,可以将Java对象与数据库表进行映射,开发者无需手动编写繁琐的SQL语句,大大简化了数据库操作的编写和维护。

灵活的SQL控制:MyBatis支持动态SQL,可以根据不同的条件和逻辑来动态生成SQL语句,使得查询、更新等操作更加灵活和可控。

缓存支持:MyBatis提供了一级缓存和二级缓存的支持,可以有效减少数据库的访问次数,提高系统性能。

可扩展性强:MyBatis采用插件机制,可以方便地扩展和定制自己的功能,满足各种不同的业务需求。

所有项目均为博主亲自收集、开发并严格测试,确保源码完整、可运行,无缺失依赖或兼容性问题!同学们拿到后就能使用!博主具备多年高级开发经验,能深入讲解代码架构、核心逻辑及技术难点,助你高效掌握项目精髓。

成功系统案例:

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

参考代码

package com.zpark.controller;

import com.zpark.common.Result;
import com.zpark.entity.Account;
import com.zpark.entity.FoodsMaterialInfo;
import com.zpark.service.FoodsMaterialInfoService;
import com.zpark.vo.FoodsMaterialInfoVo;
import com.github.pagehelper.PageInfo;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;

@RestController
@RequestMapping("/foodsMaterialInfo")
public class FoodsMaterialInfoController {

@Resource
private NxSystemFileController nxSystemFileController;
@Resource
private FoodsMaterialInfoService foodsMaterialInfoService;
@PostMapping
public Result<FoodsMaterialInfo> add(@RequestBody FoodsMaterialInfo info, HttpServletRequest request) {
Account account = (Account) request.getSession().getAttribute("user");
info.setUserName(account.getName());
info.setLevel(account.getLevel());
info.setUploadUserId(account.getId());
foodsMaterialInfoService.add(info);
return Result.success(info);
}

@DeleteMapping("/{id}")
public Result delete(@PathVariable Long id, HttpServletRequest request) {
Account account = (Account) request.getSession().getAttribute("user");
FoodsMaterialInfo info = foodsMaterialInfoService.findById(id);
if (!account.getLevel().equals(info.getLevel()) || !account.getId().equals(info.getUploadUserId())) {
return Result.error("1001", "不能删除他人的记录");
}
foodsMaterialInfoService.delete(id);
// 删除对应文件记录
if (info.getFileId() != null) {
nxSystemFileController.deleteFile(info.getFileId().toString());
}
return Result.success();
}

@PutMapping
public Result update(@RequestBody FoodsMaterialInfo info, HttpServletRequest request) {
Account account = (Account) request.getSession().getAttribute("user");
if (!account.getLevel().equals(info.getLevel()) || !account.getId().equals(info.getUploadUserId())) {
return Result.error("1001", "不能修改他人的记录");
}
foodsMaterialInfoService.update(info);
return Result.success();
}

@GetMapping("/{id}")
public Result<FoodsMaterialInfoVo> detail(@PathVariable Long id) {
FoodsMaterialInfoVo info = foodsMaterialInfoService.findById(id);
return Result.success(info);
}

@GetMapping
public Result<List<FoodsMaterialInfoVo>> all() {
return Result.success(foodsMaterialInfoService.findAll());
}

@GetMapping("/page/{name}")
public Result<PageInfo<FoodsMaterialInfoVo>> page(@PathVariable String name,
@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "5") Integer pageSize,
HttpServletRequest request) {
return Result.success(foodsMaterialInfoService.findPage(name, pageNum, pageSize));
}

}

数据库

— —————————-
— Table structure for classify_info
— —————————-
DROP TABLE IF EXISTS `classify_info`;
CREATE TABLE `classify_info` (
`id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称',
`descroiption` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '描述',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '菜谱大类信息表' ROW_FORMAT = Dynamic;

— —————————-
— Records of classify_info
— —————————-
INSERT INTO `classify_info` VALUES (1, '功能性调理', '功能性调理');

— —————————-
— Table structure for collect_info
— —————————-
DROP TABLE IF EXISTS `collect_info`;
CREATE TABLE `collect_info` (
`id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称',
`time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '时间',
`foodsId` bigint(0) NULL DEFAULT NULL COMMENT '菜谱id',
`notesId` bigint(0) NULL DEFAULT NULL COMMENT '笔记id',
`userId` bigint(0) NULL DEFAULT NULL,
`level` int(0) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '收藏信息表' ROW_FORMAT = Dynamic;

— —————————-
— Records of collect_info
— —————————-
INSERT INTO `collect_info` VALUES (4, '油焖大虾', '2020-09-30 16:18:20', 3, NULL, 2, 2);
INSERT INTO `collect_info` VALUES (7, '蛋炒饭', '2020-09-30 17:38:49', NULL, 1, 1, 2);
INSERT INTO `collect_info` VALUES (8, '蛋炒饭', '2020-09-30 17:40:50', NULL, 1, 2, 2);
INSERT INTO `collect_info` VALUES (9, '可乐鸡翅', '2020-09-30 18:02:00', 1, NULL, 3, 2);
INSERT INTO `collect_info` VALUES (10, '红烧肉', '2020-09-30 18:16:05', 2, NULL, 3, 2);
INSERT INTO `collect_info` VALUES (12, '老鸭汤', '2020-09-30 21:43:37', 12, NULL, 11, 2);
INSERT INTO `collect_info` VALUES (13, '什锦', '2020-09-30 22:01:04', 13, NULL, 2, 2);
INSERT INTO `collect_info` VALUES (14, '可乐鸡翅', '2020-09-30 22:04:34', 1, NULL, 12, 2);
INSERT INTO `collect_info` VALUES (15, '红烧肉', '2020-10-29 19:02:42', 2, NULL, 1, 2);
INSERT INTO `collect_info` VALUES (16, '可乐鸡翅', '2020-10-30 23:33:27', 5, NULL, 2, 2);
INSERT INTO `collect_info` VALUES (17, '好吃的', '2020-10-30 23:34:31', NULL, 5, 2, 2);
INSERT INTO `collect_info` VALUES (18, '油焖大虾', '2022-03-01 17:13:50', 3, NULL, 1, 1);
INSERT INTO `collect_info` VALUES (19, '老鸭汤', '2024-08-21 10:53:20', 12, NULL, 1, 1);
INSERT INTO `collect_info` VALUES (22, '美味食谱', '2024-08-21 14:43:15', NULL, 4, 1, 1);
INSERT INTO `collect_info` VALUES (23, '可乐鸡翅', '2024-08-21 14:43:33', 11, NULL, 1, 1);
INSERT INTO `collect_info` VALUES (24, '好吃的', '2024-08-21 18:23:19', NULL, 5, 1, 1);

— —————————-
— Table structure for comment_notes_info
— —————————-
DROP TABLE IF EXISTS `comment_notes_info`;
CREATE TABLE `comment_notes_info` (
`id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论内容',
`time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论时间',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论人',
`foreignId` bigint(0) NULL DEFAULT NULL COMMENT '关联的模块id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '笔记评论信息表' ROW_FORMAT = Dynamic;

— —————————-
— Records of comment_notes_info
— —————————-
INSERT INTO `comment_notes_info` VALUES (1, '好吃啊', '2020-09-30 16:20:37', '赵千里', 1);
INSERT INTO `comment_notes_info` VALUES (2, '1111', '2020-09-30 16:21:37', '赵千里', 1);
INSERT INTO `comment_notes_info` VALUES (3, '看起来不错哦', '2020-09-30 18:16:32', '钱优优', 1);
INSERT INTO `comment_notes_info` VALUES (4, '哈哈哈', '2020-09-30 21:42:27', '张三', 1);
INSERT INTO `comment_notes_info` VALUES (5, '哈哈哈', '2020-09-30 22:02:03', '赵千里', 2);
INSERT INTO `comment_notes_info` VALUES (6, '哈哈哈', '2020-10-29 19:02:04', '张天志', 5);
INSERT INTO `comment_notes_info` VALUES (7, '非常好吃', '2020-10-30 23:34:18', '赵千里', 5);
INSERT INTO `comment_notes_info` VALUES (8, '….', '2022-03-01 17:14:02', 'admin', 5);
INSERT INTO `comment_notes_info` VALUES (9, 'aaa', '2024-08-19 11:14:49', 'admin', 5);

— —————————-
— Table structure for foods_material_info
— —————————-
DROP TABLE IF EXISTS `foods_material_info`;
CREATE TABLE `foods_material_info` (
`id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '描述',
`fileId` bigint(0) NULL DEFAULT NULL COMMENT '文件id',
`fileName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件名',
`userName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '上传人',
`level` int(0) NULL DEFAULT NULL COMMENT '用户等级',
`uploadUserId` bigint(0) NULL DEFAULT NULL COMMENT '用户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '食材信息表' ROW_FORMAT = Dynamic;

— —————————-
— Records of foods_material_info
— —————————-
INSERT INTO `foods_material_info` VALUES (1, '土豆', '蔬菜', 16, '土豆.jpg', 'admin', 1, 1);
INSERT INTO `foods_material_info` VALUES (2, '山药', '蔬菜', 17, '山药.jpg', 'admin', 1, 1);
INSERT INTO `foods_material_info` VALUES (3, '白菜', '蔬菜', 18, '白菜.jpg', 'admin', 1, 1);
INSERT INTO `foods_material_info` VALUES (4, '羊肉', '肉类', 19, '羊肉.jpg', 'admin', 1, 1);
INSERT INTO `foods_material_info` VALUES (5, '牛肉', '肉类', 20, '牛肉.jpg', 'admin', 1, 1);
INSERT INTO `foods_material_info` VALUES (6, '鱼', '鱼类', 21, '鱼.jpg', 'admin', 1, 1);
INSERT INTO `foods_material_info` VALUES (7, '茄子', '蔬菜', 24, '茄子.jpg', 'admin', 1, 1);
INSERT INTO `foods_material_info` VALUES (8, '鲍鱼', '鱼类', 25, '鲍鱼.jpg', 'admin', 1, 1);

— —————————-
— Table structure for foods_menu_info
— —————————-
DROP TABLE IF EXISTS `foods_menu_info`;
CREATE TABLE `foods_menu_info` (
`id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '描述',
`tips` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '菜谱标签',
`subId` bigint(0) NULL DEFAULT NULL COMMENT '菜谱小类id',
`fileId` bigint(0) NULL DEFAULT NULL COMMENT '文件id',
`fileName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件名',
`userName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '上传人',
`level` int(0) NULL DEFAULT NULL COMMENT '用户等级',
`uploadUserId` bigint(0) NULL DEFAULT NULL COMMENT '用户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '菜谱信息表' ROW_FORMAT = Dynamic;

— —————————-
— Records of foods_menu_info
— —————————-
INSERT INTO `foods_menu_info` VALUES (1, '可乐鸡翅', '每一道菜都是一台时光机', '减脂', 1, 28, 'c1acc3912be4c8c0483ab47611e7eebc.jpeg', '张天志', 2, 1);
INSERT INTO `foods_menu_info` VALUES (2, '红烧肉', '每一道菜都是一台时光机', '减脂', 1, 14, '红烧肉.jpeg', '赵千里', 2, 2);
INSERT INTO `foods_menu_info` VALUES (3, '油焖大虾', '每一道菜都是一台时光机', '减脂', 1, 15, '大虾.jpeg', '赵千里', 2, 2);
INSERT INTO `foods_menu_info` VALUES (4, '可乐鸡翅', '每一道菜都是一台时光机', '育幼', 2, 13, '可乐鸡翅.jpg', '张天志', 2, 1);
INSERT INTO `foods_menu_info` VALUES (5, '可乐鸡翅', '每一道菜都是一台时光机', '育幼', 2, 13, '可乐鸡翅.jpg', '张天志', 2, 1);
INSERT INTO `foods_menu_info` VALUES (6, '可乐鸡翅', '每一道菜都是一台时光机', '育幼', 2, 13, '可乐鸡翅.jpg', '张天志', 2, 1);
INSERT INTO `foods_menu_info` VALUES (7, '可乐鸡翅', '每一道菜都是一台时光机', '日常美食', 3, 13, '可乐鸡翅.jpg', '张天志', 2, 1);
INSERT INTO `foods_menu_info` VALUES (8, '可乐鸡翅', '每一道菜都是一台时光机', '日常美食', 3, 13, '可乐鸡翅.jpg', '张天志', 2, 1);
INSERT INTO `foods_menu_info` VALUES (9, '可乐鸡翅', '每一道菜都是一台时光机', '日常美食', 3, 13, '可乐鸡翅.jpg', '张天志', 2, 1);
INSERT INTO `foods_menu_info` VALUES (10, '可乐鸡翅', '每一道菜都是一台时光机', '日常美食', 3, 13, '可乐鸡翅.jpg', '张天志', 2, 1);
INSERT INTO `foods_menu_info` VALUES (11, '可乐鸡翅', '每一道菜都是一台时光机', '日常美食', 3, 13, '可乐鸡翅.jpg', '张天志', 2, 1);
INSERT INTO `foods_menu_info` VALUES (12, '老鸭汤', '老鸭汤', '日常美食', 3, 26, '老鸭汤.jpg', '张三', 2, 11);
INSERT INTO `foods_menu_info` VALUES (13, '什锦', '什锦', '日常美食', 3, 27, '什锦.jpeg', '赵千里', 2, 2);

— —————————-
— Table structure for message_info
— —————————-
DROP TABLE IF EXISTS `message_info`;
CREATE TABLE `message_info` (
`id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '回答内容',
`time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '回答时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '趣味答题信息表' ROW_FORMAT = Dynamic;

— —————————-
— Records of message_info
— —————————-
INSERT INTO `message_info` VALUES (1, '小李', '应该是叫花鸡,非常好吃', '2020-09-30 11:11:53');
INSERT INTO `message_info` VALUES (11, '张天志', '蛋糕', '2020-09-30 18:15:40');
INSERT INTO `message_info` VALUES (12, '张三', '烧饼', '2020-09-30 21:42:44');
INSERT INTO `message_info` VALUES (13, '张三', '西瓜', '2020-09-30 21:59:36');
INSERT INTO `message_info` VALUES (14, '张天志', '北京烤鸭', '2020-10-29 19:02:22');
INSERT INTO `message_info` VALUES (15, '赵千里', '红烧鲫鱼', '2020-10-30 23:35:39');
INSERT INTO `message_info` VALUES (16, 'admin', '…', '2022-03-01 17:14:27');
INSERT INTO `message_info` VALUES (17, 'admin', '红烧肉', '2024-08-19 11:34:38');

— —————————-
— Table structure for news_info
— —————————-
DROP TABLE IF EXISTS `news_info`;
CREATE TABLE `news_info` (
`id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '内容',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '饮食资讯信息表' ROW_FORMAT = Dynamic;

— —————————-
— Records of news_info
— —————————-
INSERT INTO `news_info` VALUES (1, '健康饮食小提示', '饭后吃水果是错误的观念,应是饭前吃水果');
INSERT INTO `news_info` VALUES (2, '喝豆浆注意事项', '喝豆浆时不要加鸡蛋及红糖,也不要喝太多');
INSERT INTO `news_info` VALUES (3, '秋季养生', '常吃宵夜,会得胃病,因为胃得不到休息');

赞(0)
未经允许不得转载:171主机测评 » 2026最新Springboot美食推荐分享系统的设计与实现
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址