-- 1.1 创建用户表
CREATE TABLE `user` (
`uid` varchar(32) NOT NULL, #用户编号
`username` varchar(20) DEFAULT NULL, #用户名
`password` varchar(20) DEFAULT NULL, #密码
`name` varchar(20) DEFAULT NULL, #昵称
`email` varchar(30) DEFAULT NULL, #电子邮箱
`telephone` varchar(20) DEFAULT NULL, #电话
`birthday` date DEFAULT NULL, #生日
`sex` varchar(10) DEFAULT NULL, #性别
`state` int(11) DEFAULT 0, #状态:0=未激活,1=已激活
`code` varchar(64) DEFAULT NULL, #激活码
PRIMARY KEY (`uid`)
) ENGINE=InnoDB ;
-- 2.1 创建分类表
CREATE TABLE `category` (
`cid` varchar(32) NOT NULL,
`cname` varchar(20) DEFAULT NULL, #分类名称
PRIMARY KEY (`cid`)
) ENGINE=InnoDB ;
-- 3.1 创建商品表
CREATE TABLE `product` (
`pid` varchar(32) NOT NULL,
`pname` varchar(50) DEFAULT NULL, #商品名称
`market_price` double DEFAULT NULL, #市场价
`shop_price` double DEFAULT NULL, #商城价
`pimage` varchar(200) DEFAULT NULL, #商品图片路径
`pdate` date DEFAULT NULL, #上架时间
`is_hot` int(11) DEFAULT NULL, #是否热门:0=不热门,1=热门
`pdesc` varchar(255) DEFAULT NULL, #商品描述
`pflag` int(11) DEFAULT 0, #商品标记:0=未下架(默认值),1=已经下架
`cid` varchar(32) DEFAULT NULL, #分类id
PRIMARY KEY (`pid`),
KEY `product_fk_0001` (`cid`),
CONSTRAINT `product_fk_0001` FOREIGN KEY (`cid`) REFERENCES `category` (`cid`)
) ENGINE=InnoDB ;
-- 4 创建订单表
CREATE TABLE `order` (
`oid` varchar(32) NOT NULL,
`ordertime` datetime DEFAULT NULL, #下单时间
`total` double DEFAULT NULL, #总价
`state` int(11) DEFAULT NULL, #订单状态:1=未付款;2=已付款,未发货;3=已发货,没收货;4=收货,订单结束
`address` varchar(30) DEFAULT NULL, #收获地址
`name` varchar(20) DEFAULT NULL, #收获人
`telephone` varchar(20) DEFAULT NULL, #收货人电话
`uid` varchar(32) DEFAULT NULL,
PRIMARY KEY (`oid`),
KEY `order_fk_0001` (`uid`),
CONSTRAINT `order_fk_0001` FOREIGN KEY (`uid`) REFERENCES `user` (`uid`)
) ENGINE=InnoDB ;
-- 5 创建订单项表
CREATE TABLE `orderitem` (
`itemid` varchar(32) NOT NULL,
`quantity` int(11) DEFAULT NULL, #购买数量
`total` double DEFAULT NULL, #小计
`pid` varchar(32) DEFAULT NULL, #购买商品的id
`oid` varchar(32) DEFAULT NULL, #订单项所在订单id
PRIMARY KEY (`itemid`),
KEY `order_item_fk_0001` (`pid`),
KEY `order_item_fk_0002` (`oid`),
CONSTRAINT `order_item_fk_0001` FOREIGN KEY (`pid`) REFERENCES `product` (`pid`),
CONSTRAINT `order_item_fk_0002` FOREIGN KEY (`oid`) REFERENCES `order` (`oid`)
) ENGINE=InnoDB ;
/**
* 订单项
*/
public class OrderItem {
private String itemid ; // 订单项编号
private Integer quantity; // 购买数量
private Double total; // 小计
private Product product ; // 商品对象
private Order order ; // 订单项所在订单对象
......
}
/**
* 订单实体类
*/
public class Order {
private String oid ; // 订单编号
private Date ordertime; // 下单时间
private Double total ; // 总价
private Integer state ; // 订单状态 : 1 : 未付款 2 : 已付款,未发货 3 :已发货,未收货 4: 已收货,订单结束
private String address ; // 收货地址
private String name ; // 收件人姓名 : 收件人不一定是购买人
private String telephone ; // 收件人电话
private User user ; // 订单所属的用户
private List<OrderItem> list = new ArrayList<>() ; // 订单项集合
......
}