1.项目概述
1.1.项目演示
- 运行 “饿了么项目” ,演示应用程序效果,演示 “点餐业务线” 整体流程。
- 本项目参照 “饿了么官网网页版”制作,演示饿了么官网效果。饿了么网页版:http://h5.ele.me/
本项目专注于完成点餐业务线功能, ”饿了么官网“中的其它功能暂不涉及 。
1.2.项目目标
本项目为课程级贯穿项目中的第三个项目(JDBC项目、前端项目、javaWeb项目)。
- 本项目完成后,学员将能够使用VUE+Servlet+AJAX技术开发前后端分离的Web应用程序。
1.3.项目中所涉及到相关知识点
- AJAX的使用
- Servlet的使用
- Session的使用
- 简单MVC封装
- Service层事务管理
- dao层批量操作
- 多对一与一对多的映射
- 服务器端json数据转换
- VueCli的使用
- Vuex的使用
- 多条件模糊查询的使用
- 文件上传
- Svn、Git版本控制工具的使用
1.4.数据库设计
1.5.1.DB一览表
| No | 表名称 | 中文名 | 说明 |
| —- | —- | —- | —- |
| 1 | business | 商家表 | 存储所有商家信息 |
| 2 | food | 食品表 | 存储每个商家所拥有的所有食品信息 |
| 3 | cart | 购物车表 | 存储每个用户的购物车中的食品信息 |
| 4 | deliveryaddress | 送货地址表 | 存储每个用户的所有送货地址信息 |
| 5 | orders | 订单表 | 存储每个用户的所有订单信息 |
| 6 | orderdetailet | 订单明细表 | 存储每个订单中所订购的所有食品信息 |
| 7 | user | 用户表 | 存储所有用户信息 |
1.5.2.表结构
约束类型标识:
PK:primary key 主键
FK:foreign key 外键
NN:not null 非空
UQ:unique 唯一索引
AI:auto increment 自增长列
1.5.2.1.business(商家表)
No |
字段名 |
数据类型 |
size |
默认値 |
约束 |
说明 |
1 |
businessId |
int |
|
|
PK、AI、NN |
商家编号 |
2 |
businessName |
varchar |
40 |
|
NN |
商家名称 |
3 |
businessAddress |
varchar |
50 |
|
|
商家地址 |
4 |
businessExplain |
varchar |
40 |
|
|
商家介绍 |
5 |
businessImg |
mediumtext |
|
|
NN |
商家图片 |
6 |
orderTypeId |
int |
|
|
NN |
点餐分类 |
7 |
starPrice |
decimal |
(5,2) |
0.00 |
|
起送费 |
8 |
deliveryPrice |
decimal |
(5,2) |
0.00 |
|
配送费 |
9 |
remarks |
varchar |
40 |
|
|
备注 |
1.5.2.2.food(食品表)
No |
字段名 |
数据类型 |
size |
默认値 |
约束 |
说明 |
1 |
foodId |
int |
|
|
PK、AI、NN |
食品编号 |
2 |
foodName |
varchar |
30 |
|
NN |
食品名称 |
3 |
foodExplain |
varchar |
30 |
|
NN |
食品介绍 |
4 |
foodImg |
mediumtext |
|
|
NN |
食品图片 |
5 |
foodPrice |
decimal |
(5,2) |
|
NN |
食品价格 |
6 |
businessId |
int |
|
|
FK、NN |
所属商家编号 |
7 |
remarks |
varchar |
40 |
|
|
备注 |
1.5.2.3.cart(购物车表)
No |
字段名 |
数据类型 |
size |
默认値 |
约束 |
说明 |
1 |
cartId |
int |
|
|
PK、AI、NN |
无意义编号 |
2 |
foodId |
int |
|
|
FK、NN |
食品编号 |
3 |
businessId |
int |
|
|
FK、NN |
所属商家编号 |
4 |
userId |
varchar |
20 |
|
FK、NN |
所属用户编号 |
5 |
quantity |
int |
|
|
NN |
同一类型食品的购买数量 |
1.5.2.4.deliveryaddress(送货地址表)
No |
字段名 |
数据类型 |
size |
默认値 |
约束 |
说明 |
1 |
daId |
int |
|
|
PK、AI、NN |
送货地址编号 |
2 |
contactName |
varchar |
20 |
|
NN |
食品编号 |
3 |
contactSex |
int |
|
|
NN |
联系人性别 |
4 |
contactTel |
varchar |
20 |
|
NN |
联系人电话 |
5 |
address |
varchar |
100 |
|
NN |
送货地址 |
6 |
userId |
varchar |
20 |
|
FK、NN |
所属用户编号 |
1.5.2.5.orders(订单表)
No |
字段名 |
数据类型 |
size |
默认値 |
约束 |
说明 |
1 |
orderId |
int |
|
|
PK、AI、NN |
订单编号 |
2 |
userId |
varchar |
20 |
|
FK、NN |
所属用户编号 |
3 |
businessId |
int |
|
|
FK、NN |
所属商家编号 |
4 |
orderDate |
varchar |
20 |
|
NN |
订购日期 |
5 |
orderTotal |
decimal |
(7,2) |
0.00 |
NN |
订单总价 |
6 |
daId |
int |
|
|
FK、NN |
所属送货地址编号 |
7 |
orderState |
int |
|
0 |
NN |
订单状态(0:未支付; 1:已支付) |
1.5.2.6.orderdetailet(订单明细表)
No |
字段名 |
数据类型 |
size |
默认値 |
约束 |
说明 |
1 |
odId |
int |
|
|
PK、AI、NN |
订单明细编号 |
2 |
orderId |
int |
|
|
FK、NN |
所属订单编号 |
3 |
foodId |
int |
|
|
FK、NN |
所属食品编号 |
4 |
quantity |
int |
|
|
NN |
数量 |
1.5.2.7.user(用户表)
No |
字段名 |
数据类型 |
size |
默认値 |
约束 |
说明 |
1 |
userId |
varchar |
20 |
|
PK、NN |
用户编号 |
2 |
password |
varchar |
20 |
|
NN |
密码 |
3 |
userName |
varchar |
20 |
|
NN |
用户名称 |
4 |
userSex |
int |
|
1 |
NN |
用户性别(1:男; 0:女) |
5 |
userImg |
mediumtext |
|
|
|
用户头像 |
6 |
delTag |
int |
|
1 |
NN |
删除标记(1:正常; 0:删除) |
[
](https://null_688_6639.gitee.io/javase/18%E5%89%8D%E5%90%8E%E7%AB%AF%E9%A1%B9%E7%9B%AE/)