仿天猫系统的过程与笔记

我们是用JavaEE来做这个程序,主要代码就是前后端,后端分为两部分:表结构设计+实体类设计(一个Java实体(在eclipse中的语句)对应一个数据库中的表,比如user实体就对应user表,由这个实体来负责对这个表的操作);前端主要是:。。。。

天猫系统的具体实现:

一、后端需求列表

分类管理

分类管理

功能

  • 分页查询
  • 新增分类
  • 编辑修改
  • 删除

属性管理

分类属性管理

  • 属性概念
  • 分页查询
  • 新增属性
  • 编辑修改
  • 删除

产品管理

产品管理

  • 分页查询
  • 新增产品
  • 编辑修改
  • 删除

产品图片管理

产品图片管理

  • 产品图片概念
  • 产品图片管理

产品属性设置

产品属性设置

  • 产品属性值设置

用户管理

用户管理

  • 分页查询

订单管理

订单管理

  • 订单分页查询
  • 查看详情
  • 发货

订单项管理

订单项管理

  • 查看详情

二、表设计

  • 表结构基本设计

表和表的关系

 

  • ER图设计

ER图设计

  • 逻辑模型设计

逻辑结构模型

  • 建表SQL语句
CREATE DATABASE tmall DEFAULT CHARACTER SET utf8;
USE tmall;
 
CREATE TABLE user (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(255) DEFAULT NULL,
  password varchar(255) DEFAULT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
CREATE TABLE category (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(255) DEFAULT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
 
CREATE TABLE property (
  id int(11) NOT NULL AUTO_INCREMENT,
  cid int(11) DEFAULT NULL,
  name varchar(255) DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_property_category FOREIGN KEY (cid) REFERENCES category (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
CREATE TABLE product (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(255) DEFAULT NULL,
  subTitle varchar(255) DEFAULT NULL,
  orignalPrice float DEFAULT NULL,
  promotePrice float DEFAULT NULL,
  stock int(11) DEFAULT NULL,
  cid int(11) DEFAULT NULL,
  createDate datetime DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_product_category FOREIGN KEY (cid) REFERENCES category (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
 
CREATE TABLE propertyvalue (
  id int(11) NOT NULL AUTO_INCREMENT,
  pid int(11) DEFAULT NULL,
  ptid int(11) DEFAULT NULL,
  value varchar(255) DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_propertyvalue_property FOREIGN KEY (ptid) REFERENCES property (id),
  CONSTRAINT fk_propertyvalue_product FOREIGN KEY (pid) REFERENCES product (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
 
CREATE TABLE productimage (
  id int(11) NOT NULL AUTO_INCREMENT,
  pid int(11) DEFAULT NULL,
  type varchar(255) DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_productimage_product FOREIGN KEY (pid) REFERENCES product (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
CREATE TABLE review (
  id int(11) NOT NULL AUTO_INCREMENT,
  content varchar(4000) DEFAULT NULL,
  uid int(11) DEFAULT NULL,
  pid int(11) DEFAULT NULL,
  createDate datetime DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_review_product FOREIGN KEY (pid) REFERENCES product (id),
    CONSTRAINT fk_review_user FOREIGN KEY (uid) REFERENCES user (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
 
CREATE TABLE order_ (
  id int(11) NOT NULL AUTO_INCREMENT,
  orderCode varchar(255) DEFAULT NULL,
  address varchar(255) DEFAULT NULL,
  post varchar(255) DEFAULT NULL,
  receiver varchar(255) DEFAULT NULL,
  mobile varchar(255) DEFAULT NULL,
  userMessage varchar(255) DEFAULT NULL,
  createDate datetime DEFAULT NULL,
  payDate datetime DEFAULT NULL,
  deliveryDate datetime DEFAULT NULL,
  confirmDate datetime DEFAULT NULL,
  uid int(11) DEFAULT NULL,
  status varchar(255) DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_order_user FOREIGN KEY (uid) REFERENCES user (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
 
CREATE TABLE orderitem (
  id int(11) NOT NULL AUTO_INCREMENT,
  pid int(11) DEFAULT NULL,
  oid int(11) DEFAULT NULL,
  uid int(11) DEFAULT NULL,
  number int(11) DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_orderitem_user FOREIGN KEY (uid) REFERENCES user (id),
  CONSTRAINT fk_orderitem_product FOREIGN KEY (pid) REFERENCES product (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

主要sql语句

 

 

做完数据库的表,开始写JavaEE的语句:

2、实体

首先,实体最大的功能是封装数据并传递(set)和接收(get)数据,我们用的是javabean进行封装;

(1)User类bean

基本没有什么太大问题,就是封装id, username, password, 多出来的一个点是给“评论”实体传递的匿名数据

 

(2)category类bean

有一个问题,就是为什么我要单独给product再传数据呢?为什么不能和“属性”实体用同一份数据呢?

(猜测:是不是因为在首页竖条的category查询中我可以点击分类直接跳转到产品,所以才会对产品有直接的数据传递?)

 

(3)property类bean

没什么问题,基本操作

(4)product类bean

基本没什么问题,主要就是product和productimage的问题

(5)productimage类bean

问题:4和5还是出在了表结构上的不理解,为什么要把产品和图片分离?

(猜测:我认为问题出在product本身有几张图片,如果是1个product对1张图片,那肯定可以在一张表里,但是如果是1个product对n张图片,那就是1对n的关系了,所以需要进行分离,,,但是我想不出错误点在哪(除了冗余));

 

(6)

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\],过程控制系统课程的内容包括过程控制系统过程控制工程,考试内容包括小题和大题,期末考试的内容可能会与期中考试有所不同。掌握前9章的典型控制系统是后面10-13章工程控制系统的基础。前9章的内容明显比后4章多,建议根据自己的进度进行重点复习。 根据引用\[2\],《运动控制系统》是过程控制系统课程的一部分,相关的教材有《自动控制系统》第二版和《电力拖动自动控制系统——运动控制系统》第五版。预习进度为50.1%,并且在2021年6月16日有大四毕业典礼。 根据引用\[3\],过程控制工程部分的10、11章内容完整度较高,12、13章的内容因为重装系统导致上课录屏丢失,建议参考课本和PPT上的文字进行学习。 综上所述,过程控制系统课程的笔记应该包括过程控制系统过程控制工程的内容,重点复习前9章的典型控制系统,参考相关教材进行学习,并注意补充12、13章的内容。 #### 引用[.reference_title] - *1* *3* [【大四上学期】过程控制系统课程笔记](https://blog.csdn.net/oliooli/article/details/127307420)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [(自动)运动控制系统学习笔记](https://blog.csdn.net/qq_44846756/article/details/117452725)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值