Servlet电子商城项目(入门级一)

一个电子商城分析(疯购)

数据库:crazybuy;

1

商品类别

crazybuy_ product_ category

2

商品

crazybuy_ product

3

用户

crazybuy_ user

4

订单

crazybuy_ order

5

订单详情

crazybuy_ order_detail

6

评论

crazybuy_comment

7

广告、新闻

crazybuy_news

购物车:

表字段:提供给你的,分析字段。

DROPTABLE IF EXISTS crazybuy_product_category;

createtable crazybuy_product_category(

       epc_id int primary key auto_increment,

       epc_name varchar(20) not null,

       epc_parent_id int,

       constraint fk_epc_parent_id foreign key(epc_parent_id) references crazybuy_product_category (epc_id)

);

 

DROP TABLE IF EXISTS crazybuy_product_category;

create table crazybuy_product_category(

       epc_id int primary key auto_increment,

       epc_name varchar(20) not null,

       epc_parent_id int,

       constraint fk_epc_parent_id foreign key (epc_parent_id) references crazybuy_product_category (epc_id)

);

insert into crazybuy_product_category values(-1,'ROOT',null);

insert into crazybuy_product_category values(null,'图书影像',-1);

insert into crazybuy_product_category values(null,'手机数码',-1);

insert into crazybuy_product_category values(null,'服饰/内衣',-1);

insert into crazybuy_product_category values(null,'珠宝/饰品',-1);

insert into crazybuy_product_category values(null,'小说',1);

insert into crazybuy_product_category values(null,'教材',1);

insert into crazybuy_product_category values(null,'其他书籍',1);

insert into crazybuy_product_category values(null,'音乐',1);

insert into crazybuy_product_category values(null,'手机',2);

insert into crazybuy_product_category values(null,'相机',2);

insert into crazybuy_product_category values(null,'数码配件',2);

insert into crazybuy_product_category values(null,'电脑',2);

insert into crazybuy_product_category values(null,'品牌女装',3);

insert into crazybuy_product_category values(null,'精品男装',3);

insert into crazybuy_product_category values(null,'内衣',3);

insert into crazybuy_product_category values(null,'时尚饰品',4);

insert into crazybuy_product_category values(null,'手表',4);

insert into crazybuy_product_category values(null,'太阳镜',4);

select * from crazybuy_product_category;

DROP TABLE IF EXISTS crazybuy_product;

create table crazybuy_product(

       ep_id  int primary key auto_increment,

       ep_name varchar(40) not null COMMENT '商品名称',

       ep_description varchar(200) COMMENT '商品描述',

       ep_price decimal(10,2) not null COMMENT '商品价格',

       ep_stock decimal(10,0) not null COMMENT '商品库存',

       ep_status decimal(6,0) default 1 COMMENT '商品状态,-1.禁用,1.普通,2.特价,3.热卖',

       epc_id int not null COMMENT '大类别 外键',

       epc_child_id int COMMENT '小类别 外键',

       ep_file_name varchar(200) not null COMMENT '图片',

       constraint fk_epc_id foreign key (epc_id) references crazybuy_product_category (epc_id),

       constraint fk_epc_child_id foreign key (epc_child_id) references crazybuy_product_category (epc_id)

);

insert into crazybuy_product values(null,'MIUI/小米 2A(MI2A)','小米 型号:2A(MI2A) 上市时间:2013年 13年上市月份:4月 网络类型:沃-联通',1547.00,990,2,2,9,'images/product/1.jpg');

insert into crazybuy_product values(null,'Samsung/三星 I9100G','I9100G 品牌:三星 上市时间:2011年 11年上市月份:12月 网络类型:沃-联通',1269.00,990,3,2,9,'images/product/3.jpg');

insert into crazybuy_product values(null,'Sony/索尼 LT26ii','LT26ii 品牌:索尼 上市时间:2012年 12年上市月份:8月 网络类型:沃-联通',1721.00,990,1,2,9,'images/product/4.jpg');

insert into crazybuy_product values(null,'Samsung/三星 I9100','i9100 galaxy s2 品牌:三星 上市时间:2011年 11年上市月份:7月',1684.00,990,1,2,9,'images/product/5.jpg');

insert into crazybuy_product values(null,'Huawei/华为 C8813D ','上市时间:2013年13年上市月份:2月',1028.00,990,1,2,9,'images/product/6.jpg');

insert into crazybuy_product values(null,'Samsung/三星 I9082','I9082 品牌:三星 上市时间:2012年 12年上市月份:12月 网络类型:沃-联通',889.00,990,2,2,9,'images/product/7.jpg');

insert into crazybuy_product values(null,'Sony/索尼 LT26w Xperia','LT26W 品牌:索尼 上市时间:2012年 12年上市月份:8月 网络类型:GSM/WCDMA',1769.00,990,1,2,9,'images/product/8.jpg');

insert into crazybuy_product values(null,'Sony Ericsson/索尼爱立信','LT18i/Xperia Arc S 品牌:索尼爱立信 上市时间:2011年 11年上市月份:8月',1317.00,990,1,2,9,'images/product/9.jpg');

insert into crazybuy_product values(null,'Lenovo/联想 S890','S890 品牌:联想 上市时间:2012年 12年上市月份:11月 网络类型:沃-联通',1049.00,990,1,2,9,'images/product/10.jpg');

insert into crazybuy_product values(null,'HTC T329D','品牌:HTC HTC型号:T329D 上市时间:2012年 12年上市月份:12月 网络类型:双模',1120.00,990,1,2,9,'images/product/11.jpg');

insert into crazybuy_product values(null,'LG F100','F100 品牌:LG 上市时间:2012年 12年上市月份:7月 网络类型:沃-联通 主屏尺',1091.00,990,1,2,9,'images/product/12.png');

insert into crazybuy_product values(null,'Huawei/华为 A199','A199 品牌:华为 上市时间:2013年 13年上市月份:4月 网络类型:双模',1838.00,990,3,2,9,'images/product/13.jpg');

insert into crazybuy_product values(null,'Motorola/摩托罗拉 XT788','xt788 品牌:摩托罗拉 上市时间:2012年 12年上市月份:10月 网络类型',1112.00,990,1,2,9,'images/product/14.jpg');

insert into crazybuy_product values(null,'Samsung/三星 Galaxy S 2 LTE HD','品牌:三星 上市时间:2011年 11年上市月份:11月',1498.00,990,1,2,9,'images/product/15.jpg');

insert into crazybuy_product values(null,'OPPO U705T','品牌:OPPO OPPO型号:U705T 上市时间:2012年 12年上市月份:12月 网络类型:G3',1498.00,990,1,2,9,'images/product/16.jpg');

insert into crazybuy_product values(null,'Coolpad/酷派 8730','品牌:酷派 上市时间:2013年 网络类型:G3-移动 主屏尺寸:5.0英寸',1432.00,990,3,2,9,'images/product/17.jpg');

insert into crazybuy_product values(null,'Sony/索尼 LT26I Xperia S','品牌:索尼 上市时间:2012年 12年上市月份:3月 网络类型:沃-联通',1906.00,990,1,2,9,'images/product/18.jpg');

insert into crazybuy_product values(null,'Motorola/摩托罗拉 XT910','XT910 品牌:摩托罗拉 上市时间:2011年 11年上市月份:11月 网络类型',1660.00,990,1,2,9,'images/product/19.jpg');

insert into crazybuy_product values(null,'LG LU6200 ','P930/Optimus LTE 品牌:LG 上市时间:2011年 11年上市月份:10月 网络类型',1229.00,990,1,2,9,'images/product/20.jpg');

-- 21 - 30(饰品)

insert into crazybuy_product values(null,'JPF 925纯银项链','吊坠短款锁骨首饰 韩版银饰品时尚',58.01,850,2,4,16,'images/product/21.jpg');

insert into crazybuy_product values(null,'艾念正品 925纯银手链','女士时尚韩版银首饰品,名师设计,超显气质、品味的项链',69.62,850,1,4,16,'images/product/22.jpg');

insert into crazybuy_product values(null,'银千惠925纯银手链 韩版时尚','心形首饰 生日礼物 可刻字',99.00,850,1,4,16,'images/product/23.jpg');

insert into crazybuy_product values(null,'乐天韩国进口饰品','雪纺玫瑰花蕾丝发饰头饰韩版韩式发绳发圈',31.00,850,3,4,16,'images/product/24.jpg');

insert into crazybuy_product values(null,'小天鹅水晶项链 ','女 短款 韩国 首饰 生日礼物',58.01,850,2,4,16,'images/product/25.jpg');

insert into crazybuy_product values(null,'茗琳正品采用施华洛世奇水晶项链','女短款锁骨 韩版 时尚 韩国饰品',3109.01,850,1,4,16,'images/product/26.jpg');

insert into crazybuy_product values(null,'伊泰莲娜饰品批发','日韩 可爱 甜美 光板镜面爱心 项链 送女友',15.50,850,1,4,16,'images/product/27.jpg');

insert into crazybuy_product values(null,'欧美不规则几何装饰项链锁骨链','韩国衣服配饰短款女时尚颈链饰品',19.90,850,1,4,16,'images/product/28.jpg');

insert into crazybuy_product values(null,'饰品可爱满钻五角星无耳洞耳环','饰品',14.09,850,1,4,16,'images/product/29.jpg');

insert into crazybuy_product values(null,'珍珠软链韩式短发新娘头饰套装','结婚额饰品配婚纱',39.00,850,1,4,16,'images/product/30.jpg');

-- 31 - 40(精品男装)

insert into crazybuy_product values(null,'2件79包邮 凡兔男士短袖t恤','由于这款T恤采用的是吊染工艺,所以建议亲在洗涤过程中请用冷水洗涤,请勿用温水,或者彩漂洗涤!',55.00,750,1,3,14,'images/product/31.jpg');

insert into crazybuy_product values(null,'爱立登中老年男装短袖T恤衫','高端的设计,完美的穿着效果,充分展现中老年男性的魅力!夏天单穿,秋冬打底穿,一年四季都可穿着,商务百搭,100%实拍,保证您收到货比照片更好!',49.00,750,1,3,14,'images/product/32.jpg');

insert into crazybuy_product values(null,'梦特娇2013新款男装短袖T恤','锦标,常规袖丝含量95%以上',216.00,750,1,3,14,'images/product/33.jpg');

insert into crazybuy_product values(null,'2013夏装新款 韩国无头人图案男装','此款T恤布料采用高档棉加莱卡的组合是夏季T恤首选,加入莱卡后的棉固色和耐洗涤性都增强了不少,不变形,不褪色,不透,不缩水。',39.00,750,1,3,14,'images/product/34.jpg');

insert into crazybuy_product values(null,'男夏装潮男韩版修身男士短袖t恤','独特的撞色大V领,拥有永不落伍的时尚气场,展现出个性的潮流魅力。',55.30,750,2,3,14,'images/product/35.jpg');

insert into crazybuy_product values(null,'雁翎金甲中国风短袖T恤男士半袖','吊染,常规袖,棉质,凸显中国文化。',59.00,750,1,3,14,'images/product/36.jpg');

insert into crazybuy_product values(null,'jerryjack男装2013新款夏装半袖','天然纤维拥有良好的透气性和吸湿性,好比一件会呼吸的衣服',48.00,750,2,3,14,'images/product/37.jpg');

insert into crazybuy_product values(null,'韩黛薇 短袖t恤男韩版潮男装','采用双车缝制走线,平整车工紧密细致,牢固不变,整齐简洁',49.00,750,1,3,14,'images/product/38.jpg');

insert into crazybuy_product values(null,'夏装英伦兰博基尼纯棉男士短袖','穿在身上就仿佛是在午后,靠在藤椅,任阳光洋洋散散的打在身上。',58.00,750,1,3,14,'images/product/39.jpg');

insert into crazybuy_product values(null,'新款休闲夏装男短袖男士立领T恤','压花,劲拼,纯色,宽松型,含棉量50%-69%青少年地 最佳选择。',30.00,750,1,3,14,'images/product/40.jpg');

-- 41 - 60(图书)

insert into crazybuy_product values(null,'畅销读物小小孩影院早教书','采用最尖端的印刷工艺和材料,导致我们的产品成本比其他品牌更高!网上还有一些便宜劣质童书,那些和我们是完全没有可比性的!',33.80,970,1,1,7,'images/product/41.jpg');

insert into crazybuy_product values(null,'水木乐','幼儿学习看图书 宝宝最爱早教卡书0-3岁婴儿早教认知卡片早教卡早教书认知卡片8本包邮',3.50,970,1,1,7,'images/product/42.jpg');

insert into crazybuy_product values(null,'宝贝晚安故事','包邮儿童书籍故事书早教童话图书儿童正版宝宝早教书籍睡前故事',25.80,970,1,1,7,'images/product/43.jpg');

insert into crazybuy_product values(null,'365夜','儿童故事书 宝宝睡前故事书 幼儿图书0-3岁 童话故事书 早教书 ',39.80,970,1,1,7,'images/product/44.jpg');

insert into crazybuy_product values(null,'3D立体书','早教 立体书 0-3-6岁婴幼儿宝宝书籍儿童故事书睡前图书4册包邮',35.00,970,1,1,7,'images/product/45.jpg');

insert into crazybuy_product values(null,'左右脑','易读宝 点读笔 有声图书 左右脑开发 2、3.4.5.6.7岁单本价5.8折',12.00,970,1,1,7,'images/product/46.jpg');

insert into crazybuy_product values(null,'动物','满百包邮 0-3岁宝宝撕不烂 启蒙认知卡片 儿童图书籍 yp091 16册',1.00,970,0,1,7,'images/product/47.jpg');

insert into crazybuy_product values(null,'我3岁了','小红花幼儿潜能开发我3-4-5-6岁了 儿童宝宝早教书籍 智力图书',8.80,970,1,1,7,'images/product/48.jpg');

insert into crazybuy_product values(null,'人物','包邮 0-3岁宝宝看图识字 启蒙认知 婴儿幼儿童图书籍 早教书卡片',38.00,970,3,1,7,'images/product/49.jpg');

insert into crazybuy_product values(null,'狼来了','小小孩 经典故事① 2-3-4-5-6岁儿童幼儿宝宝早教睡前故事图书籍',9.00,970,1,1,7,'images/product/50.jpg');

insert into crazybuy_product values(null,'我不给你','包邮0-3-6岁婴幼儿童话故事图书小狐狸绘本我家宝贝第1套情商管理',45.00,970,1,1,7,'images/product/51.jpg');

insert into crazybuy_product values(null,'翻一番,变一变','小红花0-1-2-3岁宝宝图书认知翻翻书 翻一翻变一变婴幼儿童书籍',6.50,970,1,1,7,'images/product/52.jpg');

insert into crazybuy_product values(null,'看图找不同','快易典有声图书《看图找不同》幼儿早教有声书点读书',40.00,970,1,1,7,'images/product/53.jpg');

insert into crazybuy_product values(null,'我喜欢书','我喜欢书 幼儿园童小学生绘本经典批发宝宝读物图书012345-67岁',3.50,970,1,1,7,'images/product/54.jpg');

insert into crazybuy_product values(null,'启蒙大卡','启蒙大卡 撕不烂早教书 0-1岁婴儿图书 宝宝认知书籍正版礼盒装',45.00,970,1,1,7,'images/product/55.jpg');

insert into crazybuy_product values(null,'恐龙','儿童小百科_恐龙图书_幼儿书籍畅销童书儿童百科全书 特价图书',27.00,970,3,1,7,'images/product/56.jpg');

insert into crazybuy_product values(null,'安全','小婴孩童书 儿童图书幼儿大开眼界百科绘本 宝宝安全教育书读本',4.00,970,1,1,7,'images/product/57.jpg');

insert into crazybuy_product values(null,'十万个为什么','满4本包邮婴幼儿童十万个为什么全套注音版畅销百科全书图书3-6岁',6.95,970,1,1,7,'images/product/58.jpg');

insert into crazybuy_product values(null,'幼儿唐诗','幼儿唐诗 宝宝早教图书 婴儿早教具 宝宝认知卡片 宝宝书',3.00,970,1,1,7,'images/product/59.jpg');

insert into crazybuy_product values(null,'汉语拼音','亲子启蒙书 早教翻翻书 认知卡 识字卡 幼儿图书 早教书 汉语拼音',3.80,970,1,1,7,'images/product/60.jpg');

-- 70 - 92(品牌女装)

insert into crazybuy_product values(null,'贝蒂艾维2013夏季女装新品韩版大码打底衫','这是一款能创造奇迹的宝贝!!!每5个女人看到它,就会有1位带它回家!!!因为它超级漂亮,还超级显瘦!因为它超级正品,还超级便宜!每个女人都爱它!!!',49.90,1000,1,3,13,'images/product/71.jpg');

insert into crazybuy_product values(null,'2013夏季 新款韩版女装假两件拼色宽松大码','雅依梦品牌最新力作!韩国2013最新人气连衣裙韩国进口版型+大牌质量=平民价格!活动期内36.8元包邮!订单量大按付款顺序排单发货!早付款早发货!你懂的!仅亏活动期!活动后恢复原价78元',36.80,1000,1,3,13,'images/product/72.jpg');

insert into crazybuy_product values(null,'夏季女装新款韩版修身蕾丝雪纺连衣裙','热卖30000件,我们一直被别人模仿,但从未被超越过,仿版横行,请认准依然纯正品购买。正品保护,实拍已经通过云图片认证,并保护中,请勿盗图',99.00,1000,1,3,13,'images/product/73.jpg');

insert into crazybuy_product values(null,'女士t恤短袖2013初夏装新款上衣半袖衣服','女士t恤短袖2013初夏装新款上衣半袖衣服韩版纯棉女装修身白色t桖,闪耀亮片 夏装纯棉短袖女T恤',74.00,1000,1,3,13,'images/product/74.jpg');

insert into crazybuy_product values(null,'半袖女装新款夏装韩版初夏宽松短袖','掌柜“疯”了,只为冲量和人气,第一批3000件已抢光,第二批限量2000件,三天抢光,现最后一批亏本500件,卖完立刻涨价,数量有限,最后一批快抢完了,亲们抓紧时间抢购!',30.00,1000,1,3,13,'images/product/75.jpg');

insert into crazybuy_product values(null,'2013夏季新款牛奶丝印花短袖V领连衣裙','每个ID限购3件,超出一件加5元邮费,以此类推,亏本冲销量,喜欢还价的亲们请绕道,见谅!',49.00,1000,1,3,13,'images/product/76.jpg');

insert into crazybuy_product values(null,'春款夏装短袖新款雪纺袖公主连衣裙','包邮!2013春款夏装短袖新款雪纺袖公主连衣裙雪纺女装打底裙L935,一件包邮!只限申通快递!',129.00,1000,1,3,13,'images/product/77.jpg');

insert into crazybuy_product values(null,'撞糖果色休闲裤超短裤女裤子夏季韩版','2013夏装新款女装 撞糖果色休闲裤超短裤女裤子夏季韩版热裤裙裤',58.00,1000,1,3,13,'images/product/78.jpg');

insert into crazybuy_product values(null,'新款夏装新品女式韩版修身上衣显瘦','注意:价格都只是目前暂时的,后面由于要考虑推广成本等,会陆续随机性涨价,所以要买要提前。另外大的码数,特别是2XL及以上的码数用料成本是XL以下码数的2倍还不止,所以是有2个价格,还请大码客户体谅 ',44.90,1000,3,3,13,'images/product/79.jpg');

insert into crazybuy_product values(null,'2013春款女装韩版夏季新款t恤','销量猛增,为了更高效的发货,本店默认圆通,申通快递,请亲们留言备注快递,备注快递者优先发货!Bling女孩,店庆冲2皇冠',29.00,1000,2,3,13,'images/product/80.jpg');

insert into crazybuy_product values(null,'包邮女装2013夏装新款 短袖T恤','季大促推广期,虽然亏本出售,但依然为亲们提供7天无理由退换服务,更低销售价格,更高的服务水准,让亲买更放心。',30.00,1000,1,3,13,'images/product/81.jpg');

insert into crazybuy_product values(null,'2013夏装卡通打底衫韩版时尚宽松t恤','T恤系列均为均码为正常码M左右,根据图片上效果的修身和宽松不同的款式分别适合155-165身高,80-120体重的MM穿着 ',19.00,1000,3,3,13,'images/product/82.jpg');

insert into crazybuy_product values(null,'2013夏装新款韩版女装V领修身上衣','简洁大方款式,是经典不败的时尚理念。中长款松紧收腰设计,完美打造黄金身材比例,蕾丝飞飞袖,优雅点缀,和夏风谈一场永不说再见的恋爱。',89.00,1000,2,3,13,'images/product/83.jpg');

insert into crazybuy_product values(null,'2013夏季新款韩版修身女t恤','原价60元,吐血价9.9元3件包邮,限量秒杀5万件!现在随便发个快递都十几元,本款衣服只售价9.9元5万件卖完恢复29.9元不包邮,欲购从速!抓住机会我们用事实说话',9.90,1000,1,3,13,'images/product/84.jpg');

insert into crazybuy_product values(null,'2013夏季碎花吊带裙圆点连衣裙夏','马上购买,即送限量版,价值29.9元店铺全年包邮卡(非实物卡)!',39.00,1000,3,3,13,'images/product/85.jpg');

insert into crazybuy_product values(null,'夏款女装修身雪纺裙子连衣裙','数量有限、心动还需行动,按照亲们的付款顺序发货,涨价在即先拍先发货,限时再打折只需29.8元,送模特身上原装腰带还包邮!另送神秘小礼物····',29.80,1000,2,3,13,'images/product/86.jpg');

insert into crazybuy_product values(null,'韩版女装时尚半袖修身款无袖女款T恤 ','喜欢的MM先收藏好下宝贝,过期不候!原价:78元,今日抢拍价:28元,还包邮',28.00,1000,1,3,13,'images/product/87.jpg');

insert into crazybuy_product values(null,'新款连衣裙女吊带工字背心长裙背心裙','这款连衣裙采用的是莫代尔的面料,(*^__^*) 嘻嘻……给力吧,买了绝不后悔,不买才会后悔噢!亲们,注意了。别家110CM的都要卖到45元哦。',19.90,1000,3,3,13,'images/product/88.jpg');

insert into crazybuy_product values(null,'上衣打底衫女装韩版t恤雪纺衫短袖','朋友休闲聚会 婚宴 派对等,让你格外抢眼 压倒群芳!!同样也是女人衣橱里值得收藏的一件,质量有保证,超美的限量版··珍藏版·人手必备··',39.50,1000,3,3,13,'images/product/89.jpg');

insert into crazybuy_product values(null,'2013夏季新款韩版女装包臀短袖T恤 ','2013夏季新款韩版女装胖MM大码蝙蝠袖宽松休闲中长款包臀短袖T恤',33.00,1000,1,3,13,'images/product/90.jpg');

-- 90 - 92(太阳镜)

insert into crazybuy_product values(null,'威派男士太阳镜男','威派A690男士偏光太阳镜墨镜偏光男士铝美镜腿司机镜,新店开业,3折大促,此款现在仅45元秒杀,涨价是必然的,请亲尽早下手,涨价了可不再少价了的哦',45.00,800,2,4,18,'images/product/91.jpg');

insert into crazybuy_product values(null,'街拍欧美复古大圆形太阳眼镜女墨镜','2013年度亏本促销,市场价在:60-180元左右,包邮并配送:1、眼镜袋 2、眼镜布,亏本价 亏本赚吆喝!请勿再议价,谢谢您的理解!!',21.90,800,3,4,18,'images/product/92.jpg');

select * from crazybuy_product

DROP TABLE IF EXISTS crazybuy_user;

create table crazybuy_user(

       eu_user_name varchar(20) primary key COMMENT '用户名',

       eu_password varchar(20) not null COMMENT '密码',

       eu_actual_name varchar(20) not null COMMENT '真实姓名',

       eu_sex char(2) default '男' not null COMMENT '性别',

       eu_email varchar(20) not null COMMENT '电子邮件',

       eu_mobile varchar(11) not null COMMENT '电话',

       eu_address varchar(200) not null COMMENT '地址',

       eu_photo_url varchar(100) COMMENT '头像',

       eu_status decimal(6,0) default 1 COMMENT '1为普通用户,2为管理员'

);

-- table crazybuy_user

insert into crazybuy_user values('admin','admin','李明','男','[email protected]','15939923063','河南郑州金水区','',2);

insert into crazybuy_user values('zs12345','zs12345','张三','男','[email protected]','15938750383','河南郑州金水区','',1);

insert into crazybuy_user values('lucy','lucy12345','路西','女','[email protected]','13523451532','北京朝阳区','',1);

insert into crazybuy_user values('tom','tom12345','汤姆','男','[email protected]','15138006548','河南郑州二七区','',1);

insert into crazybuy_user values('jack','jack12345','杰克','男','[email protected]','15939980758','上海市丰庆路','',1);

select * from crazybuy_user;

--create table crazybuy_order(订单表)

DROP TABLE IF EXISTS crazybuy_order;

create table crazybuy_order(

       eo_id int primary key auto_increment,

       eo_user_name varchar(20) not null,

       eo_user_address varchar(200) not null,

       eo_create_time datetime not null,

       eo_status decimal(6,0) not null  COMMENT '1下单,2审核通过,3配货,4送货中,5收货并确认',

       eo_type decimal(6,0) not null   COMMENT '1货到付款,2网上支付',

       constraint fk_eo_user_name foreign key (eo_user_name) references crazybuy_user (eu_user_name)

);

-- create table crazybuy_order_detail(订单详情表)

DROP TABLE IF EXISTS crazybuy_order_detail;

create table crazybuy_order_detail(

       eod_id int primary key auto_increment,

       eo_id int not null COMMENT '订单id',

       ep_id int not null COMMENT '商品id',

       eod_decimal decimal(6,0) not null COMMENT '数量',

       constraint fk_eo_id foreign key (eo_id) references crazybuy_order (eo_id),

           constraint fk_ep_id foreign key (ep_id) references crazybuy_product (ep_id)

);

-- create table crazybuy_news(新闻表)

DROP TABLE IF EXISTS crazybuy_news;

create table crazybuy_news(

       en_id int primary key auto_increment,

       en_title varchar(40) unique not null COMMENT '标题',

       en_content varchar(1000) not null COMMENT '内容',

       en_create_time datetime default now() COMMENT '创建时间'

);

--create table crazybuy_comment(留言表)

DROP TABLE IF EXISTS crazybuy_comment;

create table crazybuy_comment(

       ec_id int primary key auto_increment,

       ec_reply varchar(200)  COMMENT '回复',

       ec_content varchar(200) not null  COMMENT '回复内容',

       ec_create_time datetime not null  COMMENT '创建时间',

       ec_reply_time datetime  COMMENT '回复时间',

       ec_user_name varchar(20) not null  COMMENT '用户名',

       constraint fk_ec_user_name foreign key (ec_user_name) references crazybuy_user (eu_user_name)

);

表与表之间的关联关系

 

前期准备工作:搭建后台

导入模板文件:

ctrl+s能自动格式化代码,导包,去掉多余的包。



1.    建实体(表与实体的对应)

1.1表名:crazybuy_ product_ category

实体名:ProductCategory

        /**编号*/
private int id; 
/**分类名称*/
private String name; 
/**父分类编号*/
private int parentId; 

1.2表名:crazybuy_ product

实体名:Product

        /**编号*/
private int id;
/**商品名*/
private String name;
/**商品描述*/
private String description; 
/**单价*/
private double price; 
/**库存*/
private int stock; 
/**商品状态,-1禁用,1表示普通,2表示特价,3表示热卖*/
private int status; 
/**所属分类id*/
private int epcId;  
/**说书子分类id*/
private int epcChildId; 
/**商品图片路径*/
private String fileName; 
/**购买数量,用于购物车显示数量*/
private int buyCount; 

1.3表名:crazybuy_ user

实体名:User

/**用户名*/
private String userName;
/** 密码*/
private String password;
/**真实姓名*/
private String actualName;
/**性别*/
private String sex; 
/**Email*/
private String email; 
/**手机号*/
private String mobile;
/**住址*/
private String address; 
/**头像路径*/
private String photoUrl; 
/**状态 1为普通用户 2为管理员*/
private int status; 

1.4表名:crazybuy_ order

实体名:Order

1.5表名:crazybuy_ order_detail

实体名:OrderDetail

1.6表名:crazybuy_comment

实体名:Comment

1.7表名:crazybuy_news

实体名:News

2.    写DbUtil

3.    写Dao


项目结构

各个接口中的方法

UserDao

package com.crazybuy.dao;

import java.util.List;

import com.crazybuy.entity.User;

/**

 * 用户数据访问层接口

 *

 * @author 汤Emily

 * @version 2017-4-16

 */

public interface UserDao {

         /**

          * 登陆

          *

          * @param user

          *            用户对象

          * @return 用户对象

          */

         public User login(User user) throws Exception;

         /**

          * 查找用户

          *

          * @param user

          *            用户

          * @return 用户集合对,为null则表示未找到

          */

         public List<User> findUser(User user) throws Exception;

         /**

          * 添加用户

          *

          * @param user

          *            用户对象

          * @return 受影响的行数

          */

         public int insert(User user) throws Exception;

         /**

          * 验证用户名是否存在

          *

          * @param userName

          *            用户名

          * @return

          */

         public boolean checkUserNameIsExist(String userName) throws Exception;

         /**

          * 获取所有用户

          *

          * @return 用户集合

          */

         public List<User> getUsers() throws Exception;

         /**

          * 通过用户名获取用户信息

          *

          * @param userName

          *            用户名

          * @return 用户对象

          */

         public User getUserByUserName(String userName) throws Exception;

         /**

          * 更新用户信息

          *

          * @param user

          *            用户对象

          * @return true成功 false失败

          */

         public boolean update(User user) throws Exception;

         /**

          * 删除一个用户

          *

          * @param userName

          *            用户名

          * @return true成功 false失败

          */

         public boolean delete(String userName) throws Exception;

}

ProductCategoryDao

package com.crazybuy.dao;

import java.util.List;

import com.crazybuy.entity.ProductCategory;

/**

 * 商品类别数据访问层接口

 *

 * @author 汤Emily

 * @version 2017-4-16

 */

public interface ProductCategoryDao {

         /**

          * 获取所有商品类别

          *

          * @return 商品类别集合

          */

         public List<ProductCategory> getAll() throws Exception;

         /**

          * 通过ID获取一个类别

          *

          * @param id

          *            编号

          * @return 商品类别对象

          */

         public ProductCategory getProductCategoryById(int id) throws Exception;

         /**

          * 添加商品类别

          *

          * @param pc

          *            商品类别对象

          * @return true成功 false失败

          */

         public boolean insert(ProductCategory pc) throws Exception;

         /**

          * 更新商品类别

          *

          * @param pc

          *            商品类别对象

          * @return true成功 false失败

          */

         public boolean update(ProductCategory pc) throws Exception;

         /**

          * 通过ID删除商品类别

          *

          * @param id

          *            编号

          * @return true成功 false失败

          */

         public boolean deleteById(int id) throws Exception;

         /**

          * 通过父分类ID删除商品类别

          *

          * @param id

          *            父分类编号

          * @return true成功 false失败

          */

         public boolean deleteByParentId(int id) throws Exception;

}

ProductDao

package com.crazybuy.dao;

import java.util.List;

import com.crazybuy.entity.Product;

/**

 * 商品数据访问层接口

 *

 * @author 汤Emily

 * @version 2017-4-16

 */

public interface ProductDao {

         /**

          * 通过商品状态获取部分商品

          *

          * @param Status

          *            商品状态

          * @param number

          *            商品条数

          * @return 商品集合

          */

         public List<Product> getProductsByStatus(int status, int number)

                            throws Exception;

         /**

          * 通过类别获取商品,并限制数据范围

          *

          * @param id

          *            商品类别ID

          * @param level

          *            类别级别 * 1.类别级别 id不是-1,level不是-1,查大类 2.level为2就查子类数量

          *            3.id=-1,level为-1(代表根) ep_status状态没禁用 查所有的商品

          * @param pageSize

          *            每页显示数量

          * @param pageIndex

          *            页码

          * @return 商品集合

          */

         public List<Product> getProductsByCategory(int id, int level, int pageSize,

                            int pageIndex) throws Exception;

         /**

          * 获取指定商品类别ID的商品数量,level就是控制调哪一条 sql语

          *

          * @param id

          *            商品类别ID

          * @param level

          *            类别级别 * 1.类别级别 id不是-1,level不是-1,查大类 2.level为2就查子类数量

          *            3.id=-1,level为-1(代表根) ep_status状态没禁用 查所有的商品

          * @return 商品数量

          */

         public int getCountByCategory(int id, int level) throws Exception;

         /**

          * 获取可以显示的总页数

          *

          * @param count

          *            商品数量

          * @param pageSize

          *            每页显示数量

          * @return 总页数 10条数据,每页显示3条,求多少页4 10%3==0?10/3 : 10/3+1

          */

         public int getTotalPages(int count, int pageSize) throws Exception;

         /**

          * 通过ID获取商品信息

          *

          * @param id

          *            商品ID

          * @return 商品对象

          */

         public Product getProductById(int id) throws Exception;

         /**

          * 通过ID删除商品

          *

          * @param id

          *            编号

          * @param columnType

          *            列类型。 1:商品ID 2:分类ID 3:子分类ID

          * @return true成功 false失败

          */

         public boolean deleteById(int id, int columnType) throws Exception;

         /**

          * 添加一条商品

          *

          * @param product

          *            商品对象

          * @return true成功 false失败

          */

         public boolean insert(Product product) throws Exception;

         /**

          * 更新一条商品

          *

          * @param product

          *            商品对象

          * @return true成功 false失败

          */

         public boolean update(Product product) throws Exception;

         /**

          * 禁用一个商品

          *

          * @param id

          *            商品ID

          * @return true成功 false失败

          */

         public boolean setDisable(int id) throws Exception;

}

上面三个dao要求当天完成。

三个dao接口实现类中sql语句参考:

UserDaoImpl

package com.crazybuy.dao.impl;

import java.util.List;

import com.crazybuy.dao.UserDao;

import com.crazybuy.entity.User;

public class UserDaoImpl implements UserDao {

         @Override

         public boolean checkUserNameIsExist(String userName) throws Exception {

                   String sql = "select 1 from crazybuy_user where eu_user_name=?";

                   return false;

         }

         @Override

         public boolean delete(String userName) throws Exception {

                   String sql = "delete from crazybuy_user where eu_user_name = ?";

                   return false;

         }

         @Override

         public List<User> findUser(User user) throws Exception {

                   String sql = "select * from crazybuy_user where eu_user_name=? and eu_password=?";

                   return null;

         }

         @Override

         public User getUserByUserName(String userName) throws Exception {

                   String sql = "select * from crazybuy_user where eu_user_name = ?";

                   return null;

         }

         @Override

         public List<User> getUsers() throws Exception {

                   String sql = "select * from crazybuy_user";

                   return null;

         }

         @Override

         public int insert(User user) throws Exception {

                   String sql = "insert into crazybuy_user values(?,?,?,?,?,?,?,?,default)";

                   return 0;

         }

         @Override

         public User login(User user) throws Exception {

                   String sql = "select * from crazybuy_user where eu_user_name=? and eu_password=?";

                   return null;

         }

         @Override

         public boolean update(User user) throws Exception {

                   String sql = "update crazybuy_user set eu_password=?,eu_actual_name=?,eu_sex=?,eu_email=?,eu_mobile=?,eu_address=? where eu_user_name=?";

                   return false;

         }

}

ProductCategoryDaoImpl

package com.crazybuy.dao.impl;

import java.util.List;

import com.crazybuy.entity.ProductCategory;

public class ProductCategoryDaoImpl implements

                   com.crazybuy.dao.ProductCategoryDao {

         @Override

         public boolean deleteById(int id) throws Exception {

                   String sql = "delete from crazybuy_product_category where epc_id = ?";

                   return false;

         }

         @Override

         public boolean deleteByParentId(int id) throws Exception {

                   String sql = "delete from crazybuy_product_category where epc_parent_id = ?";

                   return false;

         }

         @Override

         public List<ProductCategory> getAll() throws Exception {

                   String sql = "select * from crazybuy_product_category";

                   return null;

         }

         @Override

         public ProductCategory getProductCategoryById(int id) throws Exception {

                   String sql = "select * from crazybuy_product_category where epc_id = ?";

                   return null;

         }

         @Override

         public boolean insert(ProductCategory pc) throws Exception {

                   String sql = "insert into crazybuy_product_category(epc_name,epc_parent_id) values(?,?)";

                   return false;

         }

         @Override

         public boolean update(ProductCategory pc) throws Exception {

                   String sql = "update crazybuy_product_category set epc_name=?,epc_parent_id=? where epc_id=?";

                   return false;

         }

}

ProductDaoImpl

package com.crazybuy.dao.impl;

import java.util.List;

import com.crazybuy.dao.ProductDao;

import com.crazybuy.entity.Product;

public class ProductDaoImpl implements ProductDao {

         @Override

         public boolean deleteById(int id, int columnType) throws Exception {

                   String sql = "delete from crazybuy_product where";

                   if (columnType == 1) {

                            sql += " ep_id = ?";

                   } else if (columnType == 2) {

                            sql += " epc_id = ?";

                   } else if (columnType == 3) {

                            sql += " epc_child_id = ?";

                   } else {

                            return false;

                   }

                   return false;

         }

         @Override

         // 1 2

         public int getCountByCategory(int id, int level) throws Exception {

                   String sql = "select count(*) from crazybuy_product where epc_id = ? and ep_status != -1";

                   if (level == 2) {

                            sql = "select count(*) from crazybuy_product where epc_child_id = ? and ep_status != -1";

                   }

                   if (id == -1 && level == -1) {

                            sql = "select count(*) from crazybuy_product where ep_status != -1";

                   }

                   //

                   return 0;

         }

         @Override

         public Product getProductById(int id) throws Exception {

                   String sql = "select * from crazybuy_product where ep_id = ?";

                   return null;

         }

         @Override

         public List<Product> getProductsByCategory(int id, int level, int pageSize,

                            int pageIndex) throws Exception {

                   String sql = "select * from crazybuy_product where epc_id = ? and ep_status != -1 limit ?,?";

                   if (level == 2) {

                            sql = "select * from crazybuy_product where epc_child_id = ? and ep_status != -1 limit ?,?";

                   }

                   if (id == -1 && level == -1) {

                            sql = "select * from crazybuy_product where ep_status != -1 limit ?,?";

                   }

                   return null;

         }

         @Override

         public List<Product> getProductsByStatus(int status, int number)

                            throws Exception {

                   String sql = "select * from crazybuy_product where ep_status = ?  limit 0,?";

                   return null;

         }

         @Override

         public int getTotalPages(int count, int pageSize) throws Exception {

                   return count % pageSize == 0 ? count / pageSize : count / pageSize + 1;

         }

         @Override

         public boolean insert(Product product) throws Exception {

                   String sql = "insert into crazybuy_product values(null,?,?,?,?,?,?,?,?)";

                   return false;

         }

         @Override

         public boolean setDisable(int id) throws Exception {

                   String sql = "update crazybuy_product set ep_status=-1 where ep_id=?";

                   return false;

         }

         @Override

         public boolean update(Product product) throws Exception {

                   String sql = "update crazybuy_product set ep_name=?,ep_description=?,ep_price=?,ep_stock=?,ep_status=?,epc_id=?,epc_child_id=?,ep_file_name=? where ep_id=?";

                   return false;

         }

}

 请大家完成实现类。


猜你喜欢

转载自blog.csdn.net/mtm001/article/details/80930219