毕业设计:基于springboot的厨艺交流平台的设计与实现(源码)
本文介绍了一个基于B/S架构的厨艺交流平台系统设计。系统采用MySQL数据库,使用Visio工具设计了包括商品信息、菜谱分类、用户信息等11个数据表的E-R模型。主要功能模块包括食材分类管理、用户信息管理、菜谱分类管理、菜谱信息管理和食材信息管理等,各模块支持增删改查操作。系统通过浏览器访问服务器获取数据,适用于广域网环境。数据库设计中特别强调主键设置的重要性,确保数据表间的区分与关联。系统实现了
4 系统设计
4.1系统概要设计
厨艺交流平台并没有使用C/S结构,而是基于网络浏览器的方式去访问服务器,进而获取需要的数据信息,这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的B/S结构,图4.1就是开发出来的程序工作原理图。

图4.1 程序工作的原理图
4.2系统功能结构设计
下图就是系统功能结构图。

图4.1 系统功能结构图
4.3数据库设计
4.3.1数据库E-R图设计
程序设计是离不开对应数据库的设计操作的,这样的做法就是减少数据对程序的依赖性,所以数据库的设计也是需要花费大量的日常时间来进行设计的,在设计中对程序开发需要存储的数据信息进行实体划分,先确认实体,然后设计实体的属性等操作,这种设计就是数据库设计里面不能少的必须有的E-R模型设计。为了降低程序设计的对应的数据库设计难度,开发人员也可以使用相应的工具来进行E-R模型设计,现在市面上设计E-R模型的工具有PowerDesigner建模工具,Navicat制作工具,还有微软的Visio绘图工具。为了简便起见,本程序在设计E-R模型的时候,就选用了微软的Visio这款功能强大,操作便利的绘图工具。
下面就展示厨艺交流平台的实体E-R图。
(1)下图就是商品信息实体E-R图

图4.7 商品信息实体E-R图
(2)下图就是菜谱分类实体E-R图

图4.8 菜谱分类实体E-R图
(3)下图就是商品分类实体E-R图

图4.9 商品分类实体E-R图
4.3.2 数据库表结构设计
本次程序开发选用的数据库管理工具是MySQL数据管理工具,使用它存放数据也需要创建程序对应的数据库文件,并命名刚创建的数据库文件,有了数据库也需要创建各种数据表来充实数据库,在数据表的创建中,不仅需要对数据表命名,也需要对数据表的字段进行设计,包括每个数据表里面需要设置的字段名称,字段对应的数据类型信息,字段的主键设置这个也是不可缺少的,因为每个数据表里面的主键就是标记着这个数据表跟其他数据表相区分的唯一标志。就相当于生活中的每个人都有姓名,但是上网搜索自己的名字,会发现全国上下有很多人的名字跟自己的名字一模一样,包括姓氏以及名字,区分每个人的唯一信息就是每个人的身份证号信息,主键在数据表里面也是起着这样的重要作用。下面就介绍本次开发的程序厨艺交流平台的数据表结构信息。
表4.1 菜谱分类
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
caipufenlei |
varchar(200) |
否 |
菜谱分类 |
表4.2 菜谱信息
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
caipinbianhao |
varchar(200) |
是 |
NULL |
菜品编号 |
|
caipinmingcheng |
varchar(200) |
是 |
NULL |
菜品名称 |
|
caipufenlei |
varchar(200) |
是 |
NULL |
菜谱分类 |
|
kouwei |
varchar(200) |
是 |
NULL |
口味 |
|
nandu |
varchar(200) |
是 |
NULL |
难度 |
|
pengrenshizhang |
varchar(200) |
是 |
NULL |
烹饪时长 |
|
tupian |
varchar(200) |
是 |
NULL |
图片 |
|
yuancailiao |
longtext |
是 |
NULL |
原材料 |
|
caipinjieshao |
longtext |
是 |
NULL |
菜品介绍 |
|
thumbsupnum |
int(11) |
是 |
0 |
赞 |
|
crazilynum |
int(11) |
是 |
0 |
踩 |
|
clicknum |
int(11) |
是 |
0 |
点击次数 |
表4.3 购物车表
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
tablename |
varchar(200) |
是 |
shangpinxinxi |
商品表名 |
|
userid |
bigint(20) |
否 |
用户id |
|
|
goodid |
bigint(20) |
否 |
商品id |
|
|
goodname |
varchar(200) |
是 |
NULL |
商品名称 |
|
picture |
varchar(200) |
是 |
NULL |
图片 |
|
buynumber |
int(11) |
否 |
购买数量 |
|
|
price |
float |
是 |
NULL |
单价 |
|
discountprice |
float |
是 |
NULL |
会员价 |
表4.4 健康文章
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
wenzhangbiaoti |
varchar(200) |
是 |
NULL |
文章标题 |
|
wenzhangfengmian |
varchar(200) |
是 |
NULL |
文章封面 |
|
wenzhangleixing |
varchar(200) |
是 |
NULL |
文章类型 |
|
fabushijian |
datetime |
是 |
NULL |
发布时间 |
|
wenzhangneirong |
longtext |
是 |
NULL |
文章内容 |
表4.5 美食日志
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
rizhibianhao |
varchar(200) |
是 |
NULL |
日志编号 |
|
rizhibiaoti |
varchar(200) |
是 |
NULL |
日志标题 |
|
rizhifengmian |
varchar(200) |
是 |
NULL |
日志封面 |
|
yonghuzhanghao |
varchar(200) |
是 |
NULL |
用户账号 |
|
yonghuxingming |
varchar(200) |
是 |
NULL |
用户姓名 |
|
fabushijian |
datetime |
是 |
NULL |
发布时间 |
|
meishirizhi |
longtext |
是 |
NULL |
美食日志 |
|
thumbsupnum |
int(11) |
是 |
0 |
赞 |
|
crazilynum |
int(11) |
是 |
0 |
踩 |
表4.6 订单
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
orderid |
varchar(200) |
否 |
订单编号 |
|
|
tablename |
varchar(200) |
是 |
shangpinxinxi |
商品表名 |
|
userid |
bigint(20) |
否 |
用户id |
|
|
goodid |
bigint(20) |
否 |
商品id |
|
|
goodname |
varchar(200) |
是 |
NULL |
商品名称 |
|
picture |
varchar(200) |
是 |
NULL |
商品图片 |
|
buynumber |
int(11) |
否 |
购买数量 |
|
|
price |
float |
否 |
0 |
价格/积分 |
|
discountprice |
float |
是 |
0 |
折扣价格 |
|
total |
float |
否 |
0 |
总价格/总积分 |
|
discounttotal |
float |
是 |
0 |
折扣总价格 |
|
type |
int(11) |
是 |
1 |
支付类型 |
|
status |
varchar(200) |
是 |
NULL |
状态 |
|
address |
varchar(200) |
是 |
NULL |
地址 |
|
tel |
varchar(200) |
是 |
NULL |
电话 |
|
consignee |
varchar(200) |
是 |
NULL |
收货人 |
表4.7 商品分类
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
shangpinfenlei |
varchar(200) |
否 |
商品分类 |
表4.8 商品信息
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
shangpinmingcheng |
varchar(200) |
是 |
NULL |
商品名称 |
|
shangpinbianhao |
varchar(200) |
是 |
NULL |
商品编号 |
|
shangpinfenlei |
varchar(200) |
是 |
NULL |
商品分类 |
|
tupian |
varchar(200) |
是 |
NULL |
图片 |
|
shangpinxiangqing |
longtext |
是 |
NULL |
商品详情 |
|
price |
float |
否 |
价格 |
|
|
onelimittimes |
int(11) |
是 |
-1 |
单限 |
|
alllimittimes |
int(11) |
是 |
-1 |
库存 |
表4.9 食材分类
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
shicaifenlei |
varchar(200) |
否 |
食材分类 |
表4.10 食材信息
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
shicaimingcheng |
varchar(200) |
是 |
NULL |
食材名称 |
|
shicaichandi |
varchar(200) |
是 |
NULL |
食材产地 |
|
shicaididian |
varchar(200) |
是 |
NULL |
食材地点 |
|
shicaireliang |
varchar(200) |
是 |
NULL |
食材热量 |
|
fabushijian |
datetime |
是 |
NULL |
发布时间 |
|
shicaifengmian |
varchar(200) |
是 |
NULL |
食材封面 |
|
shiyongyiji |
longtext |
是 |
NULL |
食用宜忌 |
|
xuangoujiqiao |
longtext |
是 |
NULL |
选购技巧 |
|
thumbsupnum |
int(11) |
是 |
0 |
赞 |
|
crazilynum |
int(11) |
是 |
0 |
踩 |
表4.11 收藏表
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
userid |
bigint(20) |
否 |
用户id |
|
|
refid |
bigint(20) |
是 |
NULL |
收藏id |
|
tablename |
varchar(200) |
是 |
NULL |
表名 |
|
name |
varchar(200) |
否 |
收藏名称 |
|
|
picture |
varchar(200) |
否 |
收藏图片 |
表4.12 管理员信息表
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
username |
varchar(100) |
否 |
用户名 |
|
|
password |
varchar(100) |
否 |
密码 |
|
|
role |
varchar(100) |
是 |
管理员 |
角色 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
新增时间 |
表4.13 用户
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
yonghuzhanghao |
varchar(200) |
否 |
用户账号 |
|
|
yonghuxingming |
varchar(200) |
否 |
用户姓名 |
|
|
mima |
varchar(200) |
否 |
密码 |
|
|
xingbie |
varchar(200) |
是 |
NULL |
性别 |
|
nianling |
int(11) |
是 |
NULL |
年龄 |
|
lianxidianhua |
varchar(200) |
是 |
NULL |
联系电话 |
|
dianziyouxiang |
varchar(200) |
是 |
NULL |
电子邮箱 |
|
money |
float |
是 |
0 |
余额 |
5 系统实现
5.1食材分类管理
管理员管理食材分类,可以添加,修改,删除食材分类信息。下图就是食材分类管理页面。

图5.1 食材分类管理页面
5.2 用户信息管理
管理员管理用户信息,可以添加,修改,删除用户信息信息。下图就是用户信息管理页面。

图5.2用户信息管理页面
5.3 菜谱分类管理
管理员管理菜谱分类,可以添加,修改,删除菜谱分类信息。下图就是菜谱分类管理页面。

图5.3 菜谱分类管理页面
5.4菜谱信息管理
管理员管理菜谱信息,可以添加,修改,删除菜谱信息信息。下图就是菜谱信息管理页面。

图5.4 菜谱信息管理页面
5.5食材信息管理
管理员管理食材信息,可以添加,修改,删除食材信息信息。下图就是食材信息管理页面。

图5.5 食材信息管理页面
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)