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;

         }

 

}

 請大家完成實現類。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章