订单模块是指将准备购买的商品变成已经购买的商品,分为以下几步:
1)提交订单,获得购物车和对应的用户信息,将数据封装到Order里;
2)调用service保存订单,并将购物车的信息清空;
3)请求转发到订单详情模块
准备工作:
创建表
顺手在这里普及一下表的关联
alter table 从表名 add [constraint] [外键名称] foreign key(从表中的外键字段名) references 主表(主表的主键);
扫描二维码关注公众号,回复:
1731543 查看本文章
外键名称的作用: 用于删除外键约束,一般建议以“_fk”结尾。
表与表之间的关系
一对多
【建表原则】:在从表(多方)中创建一个字段,该字段作为外键指向主表(一方)的主键。
多对多
【建表原则】:需要创建第三张表(作为中间表),中间表至少两个字段(两个外键),这两个字段分别作为外键指向各自多方的主键。
原理:将一个多对多拆分成两个一对多(两张表都是中间表的主表)。
多对多练习
1.订单表
create table orders(
oid varchar(32) primary key,
totalprice double
);
2.订单项表
create table orderitem(
oid varchar(50),
pid varchar(50)
);
3.联合主键
alter table orderitem add primary key(oid,pid);
4.订单表和订单项表的主外键关系
alter table orderitem add constraint orderitem_orders_fk foreign key(oid) references orders(oid);
5.商品表和订单项表的主外键关系
alter table orderitem add constraint orderitem_product_fk foreign key(pid) references product(pid);
代码实现