數(shù)據(jù)庫信息管理系統(tǒng)JAVA實(shí)現(xiàn)_第1頁
數(shù)據(jù)庫信息管理系統(tǒng)JAVA實(shí)現(xiàn)_第2頁
數(shù)據(jù)庫信息管理系統(tǒng)JAVA實(shí)現(xiàn)_第3頁
數(shù)據(jù)庫信息管理系統(tǒng)JAVA實(shí)現(xiàn)_第4頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、院系學(xué)生姓名課程名稱專業(yè)學(xué)號(hào)數(shù)據(jù)庫原理與設(shè)計(jì)方法學(xué)授課時(shí)間周學(xué)時(shí)分簡要評語考核論題總評成績(含平時(shí)成績)圖書管理信息數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)備注任課教師簽名:日期:注: 1.以論文或大作業(yè)為考核方式的課程必須填此表,綜合考試可不填?!昂喴u語”欄缺填無效。2. 任課教師填寫后與試卷一起送院系研究生秘書處。3. 學(xué)位課總評成績以百分制計(jì)分。圖書管理信息數(shù)據(jù)庫系統(tǒng)-JAVA 實(shí)現(xiàn)目錄一、需求說明31、 任務(wù)概述32、 需求分析32.1 功能需求32.2 、數(shù)據(jù)描述3靜態(tài)數(shù)據(jù)錯(cuò)誤 ! 未定義書簽。動(dòng)態(tài)數(shù)據(jù)3數(shù)據(jù)庫介紹33、系統(tǒng)功能概要圖34、運(yùn)行環(huán)境4二、數(shù)據(jù)庫的設(shè)計(jì)41、 數(shù)據(jù)庫設(shè)計(jì)的關(guān)系模型42、 創(chuàng)建數(shù)

2、據(jù)庫的語句43、 給數(shù)據(jù)庫中插記錄的相關(guān)語句74、 數(shù)據(jù)字典75、 ER 圖9三、開發(fā)方案介紹9四、應(yīng)用系統(tǒng)設(shè)計(jì)9附錄11一、需求說明1、任務(wù)概述滿足在線書店管理的需求,實(shí)現(xiàn)管理流程。主要功能包括用戶注冊、用戶登錄、購物商場、在線購物、訂單管理、系統(tǒng)導(dǎo)航、用戶退出、權(quán)限控制等。2、需求分析2.1 功能需求在線書店系統(tǒng)作為一個(gè)網(wǎng)絡(luò)購物網(wǎng)站,它仿照淘寶網(wǎng)等知名購物網(wǎng)站,其總體要求即實(shí)現(xiàn)購物網(wǎng)站的基本功能。具體功能要求如下:1) 商品管理。這是管理員的功能。要實(shí)現(xiàn)增刪改查圖書、倉庫管理的功能。2) 用戶管理。包括用戶注冊、用戶登錄和用戶退出三個(gè)方面,用戶還可以更改部分注冊信息。用戶登錄成功后,在首頁

3、面可看到書籍展示。3)購物車管理??梢孕薷摹h除選購書籍,并保存購物列表。當(dāng)用戶退出時(shí)或session失效時(shí),自動(dòng)保存用戶購物車列表書籍。4) 訂單管理。要實(shí)現(xiàn)生成訂單,刪除、修改、查詢訂單,提交訂單。提交后的訂單,只能查看訂單信息,不能進(jìn)行修改,也不能刪除。5) 權(quán)限控制。主頁面和注冊頁面任何人都可以訪問,其他頁面,只有已經(jīng)登錄成功的用戶才可訪問;若用戶還沒有登錄系統(tǒng),則返回到登錄頁面。2.2、數(shù)據(jù)描述用戶類型、權(quán)限類型、管理員等。動(dòng)態(tài)數(shù)據(jù)新用戶的注冊、新書的錄入、購書的信息、生成訂單等等。數(shù)據(jù)庫介紹數(shù)據(jù)庫名稱為 shop, 有八個(gè)表,分別為管理員表( Admin)、用戶注冊表( User

4、)、圖書信息登記表( Book)、圖書上架信息登記表 (Storage) 、購物車圖書列表 (Shopcar) ,用戶購買書籍的訂單表 (Order) 、訂單明細(xì)表 (OrderBook) 、購物車表( CartItem )。3、系統(tǒng)功能概要圖登錄界用戶類型選管理員登一般用戶登個(gè)更查添查圖安個(gè)更瀏查我人改看加看書全人改覽看的4、運(yùn)行環(huán)境操作系統(tǒng): windows xp數(shù)據(jù)庫: MySql 數(shù)據(jù)庫程序環(huán)境: MyEclipse 6.5二、數(shù)據(jù)庫的設(shè)計(jì)1、數(shù)據(jù)庫設(shè)計(jì)的關(guān)系模型Admin(id,name,password);User(id,name,password,sex,age,address,

5、postcard,telephone,);Book(id,name,author,publisher,price);Order(id,onDate,amount,total,postAddress,postcard,telephone,contact,userId,state);OrderBook(id,orderId,bookId,price,amount);Storage(id,bookId,amount,inDate);CartItem(id,bookId,amount);ShopCart(id,userId,bookId);2、創(chuàng)建數(shù)據(jù)庫的語句MySQL> connect sho

6、p;已連接。- 用戶表createtableusers(idnameint auto_increment varchar (20),primarykey,passwdvarchar(20),sexvarchar(2),ageint ,addressvarchar(50),postcodevarchar(6),phonevarchar(15),admint);- 圖書表CREATEtablebooks(idintauto_incrementprimary key,namevarchar(40),authorvarchar(20),publishervarchar(30),pricenumeric

7、 (6,2);- 購物車表createtablestorages(idintauto_incrementprimary key,bookIdint,amountint,inDatedate);- 訂單表create table Order (idintprimarykeyauto_increment,-主鍵onDatedate,-下單日期amountintnotnulldefault1,-購書總數(shù)totaldoublenotnulldefault0,-總金額postAddressvarchar(50)notnulldefault'',- 郵寄地址postcardvarchar(

8、10)notnulldefault'',-郵編telephonevarchar(20)notnulldefault'',-聯(lián)系電話contactvarchar(10)notnulldefault'',- 聯(lián)系人useridint,-采購人stateintnotnulldefault1-訂單狀態(tài)( 1: 初步訂單 2:訂單已提交));- 訂單明細(xì)表createtableOrderBook(idintprimary keyauto_increment,- 主鍵orderidint ,-訂單編號(hào)bookidint ,-圖書編號(hào)pricedoubleno

9、tnulldefault0,-單價(jià)amountintnotnulldefault1-訂購數(shù)量3、給數(shù)據(jù)庫中插記錄的相關(guān)語句- 在用戶表中插入數(shù)據(jù)insertintousers(name,passwd,adm)values ( 'tom' , '123' ,0);insertintousers(name,passwd,adm)values ( 'admin' , 'admin',1);注:其他數(shù)據(jù)在實(shí)際操作中插入。4、數(shù)據(jù)字典Admin 表:字段名字段說明類型id主鍵Integername用戶名稱Varcharpassword密碼V

10、archarUser 表:字段名字段說明類型id主鍵Integername用戶名稱Varcharpassword密碼Varcharsex性別Varcharage年齡Integeraddress住址Varcharpostcard郵編Varchartelephone電話VarcharBook 表:字段名字段說明類型id主鍵Integername書名Varcharauthor作者Varcharpublisher出版社Varcharprice價(jià)格DoubleOrder 表:字段名字段說明類型id主鍵IntegeronDate下單日期Varcharamount購書總數(shù)Integertotal總金額Int

11、egerpostAddres郵寄地址Varcharspostcard郵編Varchartelephone聯(lián)系電話Varcharcontact聯(lián)系人VarcharuserId采購人Varcharstate狀態(tài)ByteOrderBook 表:字段名字段說明類型id主鍵IntegerorderId訂單編號(hào)IntegerbookId圖書編號(hào)Integerprice單價(jià)Doubleamount訂購數(shù)量IntegerStorage 表:字段名字段說明類型id主鍵IntegerbookId圖書Varcharamount數(shù)量IntegerinDate上貨時(shí)間VarcharCartItem 表:字段名字段說明類

12、型id主鍵IntegerbookId圖書編號(hào)IntegerAmount購書總數(shù)IntegerShopCart 表:字段名字段說明類型id主鍵IntegeruserId用戶編號(hào)VarcharbookId圖書編號(hào)Integer5、 ER圖三、開發(fā)方案介紹由于該軟件使用于在線圖書管理模塊,實(shí)現(xiàn)的功能如下:用戶注冊任何人都可注冊為站點(diǎn)用戶,注冊成功后,注冊信息要保存到數(shù)據(jù)庫;注冊成后,要重新顯示用戶注冊的信息用戶登陸系統(tǒng)成功后,除用戶名外,可隨意修改其他注冊信息。用戶登陸提供用戶登陸的入口登陸成功后,可進(jìn)入在線商場,選購物品。購物商場購物商場中的書籍,由庫官員維護(hù),庫官員可以為商場添加要銷售的書籍,也

13、可以刪除正在銷售的書籍;- 商場中只能給用戶展示庫存中存在的書籍在線購物在線購物任何用戶都可在商場查閱書籍,并瀏覽其詳細(xì)信息任何用戶都可在商場中選購書籍后,存放在用戶的購物車中;用戶也可以根據(jù)書名、作者、出版社搜索書籍,若存在,也可選購;用戶可以管理自己購物車中的書籍,可以刪除某些已經(jīng)選購的書籍;用戶每次登陸系統(tǒng)后,都可查看購物車列表中的信息,并對其進(jìn)行管理。訂單管理用戶可以從自己的購物車中選擇某些書籍,初步形成訂單,訂單中要注明購買的書籍列表、用戶具體聯(lián)系信息、費(fèi)用等相關(guān)信息,并保存到數(shù)據(jù)庫;訂單初步形成后,應(yīng)該從購物車中銷毀訂單中的書籍;用戶隨時(shí)都可查閱訂單的信息,也可對訂單中的聯(lián)系信息進(jìn)

14、行修改,也可刪除訂單;用戶也可對初步訂單進(jìn)行提交,提交后的訂單,只能查看訂單信息,不能進(jìn)行修改,也不能刪除。系統(tǒng)導(dǎo)航用戶在線購物時(shí),隨時(shí)可以通過導(dǎo)航欄查看相關(guān)信息,比如“登陸信息” 、“在線購物”、“購物車”等導(dǎo)航用戶退出若用戶購物完畢,可以點(diǎn)擊“退出”鏈接,退出商場,要在內(nèi)存中清空用戶身份標(biāo)識(shí),并返回到登陸頁面 login.jsp 權(quán)限控制login.jsp,任何用戶都可以訪問其他頁面,只有已經(jīng)登陸系統(tǒng)的用戶才可訪問;若用戶還沒有登陸系統(tǒng),則返回到登陸頁面。本系統(tǒng)是小型的方便運(yùn)行的軟件,界面應(yīng)簡單明了,適合普通用戶和管理員操作。通過不同的賬戶口令可登陸類型不同的軟件界面,對圖書以及個(gè)人信息進(jìn)

15、行一系列的操作,并通過密碼機(jī)制來實(shí)現(xiàn)高級(jí)權(quán)限的管理員對后臺(tái)數(shù)據(jù)的添加、修改、刪除等操作。后臺(tái)連接的數(shù)據(jù)庫為MySql;當(dāng)前臺(tái)數(shù)據(jù)經(jīng)過變動(dòng)之后可實(shí)現(xiàn)提交保存。我們前臺(tái)的界面是通過jsp 來實(shí)現(xiàn)的,不否認(rèn)界面做得確實(shí)不是很漂亮。四、應(yīng)用系統(tǒng)設(shè)計(jì)1、我們將整個(gè)系統(tǒng)分成了如下幾個(gè)模塊。最初是個(gè)登錄界面,如圖1 所示。圖 1進(jìn)入系統(tǒng)的密碼登錄框有兩種選擇,可以以管理員登錄,可以以一般用戶登錄,但是一般用戶登錄前需要先注冊,只有注冊成功后才可以登錄。2、 在用戶名和密碼都正確的情況下我們將進(jìn)入在線書店管理系統(tǒng)的主界面,分為管理員界面和一般用戶界面,如下圖2,圖3所示。圖 2 管理員登錄圖 3 一般用戶登錄

16、1) 點(diǎn)擊圖 2 界面的登錄按鈕進(jìn)入管理員界面。在這里我們提供了管理員查看圖書(圖4)、添加圖書(圖5)、查看庫存(圖6)、圖書入庫(圖7)、修改圖書功能(圖8)。a 在進(jìn)入這個(gè)頁面后,管理員可以查看現(xiàn)有的圖書,可以點(diǎn)擊修改按鈕,進(jìn)行相應(yīng)圖書信息的修改。圖 4 管理員查看圖書b在這個(gè)頁面中,管理員可以添加圖書以及圖書的一些相關(guān)信息,比如書名、作者、出版社、價(jià)格等信息,點(diǎn)擊保存后,新的圖書將保持到數(shù)據(jù)庫中。圖 5 管理員添加圖書c 在這個(gè)頁面,管理員可以查看現(xiàn)有的庫存,可以查看圖書的書名、庫存總數(shù)、入庫時(shí)間等相關(guān)信息。圖 6 管理員查看庫存d在圖書入庫這個(gè)功能模塊中,管理員可以將新的圖書添加到圖

17、書的庫存中。需要填圖書的數(shù)量和上架時(shí)間。圖 7 圖書入庫e管理員可以根據(jù)實(shí)際需要,對圖書信息進(jìn)行相關(guān)的修改,比如作者、出版社、價(jià)格等。圖 8 管理員可以修改圖書信息2) 點(diǎn)擊圖 3 界面的登錄按鈕進(jìn)入一般用戶登錄界面。在這里我們提供了瀏覽圖書(圖 9)、查看購物車 (圖 10)、我的訂單功能 (圖11)。a在進(jìn)入一般用戶的界面后,用戶可以看看這個(gè)網(wǎng)上書店有些什么書,便于用戶選擇,該模塊還提供了購買功能,可以選擇放到購物車這個(gè)按鈕。先將圖書放到購物車。圖 9 瀏覽圖書b進(jìn)入查看購物車,可以查看用戶剛剛購買的圖書,這時(shí)用戶可以選擇移出購物車,放棄剛才購買的圖書,也可以選擇進(jìn)入結(jié)算中心,看看剛才購買

18、的圖書的相關(guān)信息,包括價(jià)格等等。圖 10-1 查看購物車c 用戶可以選擇將圖書移出購物車。圖 10-2 用戶將圖書移出購物車d用戶進(jìn)入結(jié)算中心后,可以查看剛剛購買圖書的一些購買信息,并給用戶算出了價(jià)格和購買數(shù)量,并且列出了訂單的詳細(xì)信息,這時(shí)候用戶可以填寫訂單信息,從而生成訂單。圖 10-3 進(jìn)入結(jié)算中心后e點(diǎn)擊生成訂單后,就顯示出剛剛生成的訂單的詳細(xì)信息,包括提交訂單、詳細(xì)信息、修改和刪除功能。像第二行,就是點(diǎn)擊提交訂單后就變成了已提交。提交以后只能查看詳細(xì)信息,而未提交以前可以提交、修改、刪除。圖 10-4已生成訂單的詳細(xì)信息f 詳細(xì)信息展示:g修改相關(guān)的信息,當(dāng)點(diǎn)擊修改按鈕時(shí),會(huì)提示確認(rèn)

19、修改么,目的是為了避免用戶的誤操作。點(diǎn)擊確認(rèn)后,可以對剛才生成的詳細(xì)信息進(jìn)行修改,點(diǎn)擊修改訂單,可以生成新的訂單信息。h當(dāng)刪除時(shí),同樣會(huì)有提示,也是為了避免用戶的誤操作:當(dāng)點(diǎn)擊確認(rèn)后,圖書將從訂單中刪除:i 用戶可以查看自己的訂單:附錄本設(shè)計(jì)選用了java 語言完成,由于程序代碼較多,故在此處選擇主要代碼進(jìn)行展示如下。1、 /用戶注冊importcom.ShopException;importimportpublicclassUserService privateUserDAOuserDAO=new UserDAO();publicvoidreg(User u) User u2 =userDA

20、O .findByName(u.getName();if(u2 !=null) thrownew ShopException(userDAO .add(u);" 用戶名已存在");publicUser login(User user) User user2 =userDAO .findByName(user.getName();if(user2 =null) thrownew ShopException(" 用戶名不存在" ); if(user.getPasswd() !=null&& !user.getPasswd().equals(u

21、ser2.getPasswd()thrownew ShopException(" 瀵嗙爜閿欒" ); returnuser2;public void userDAOupdateUser(User user) .update(user);public void userDAOchangePasswd(intid, String passwd) .updatePasswd(id, passwd);2、 /管理員添加圖書、查看圖書列表、查看庫存packagecom.service;importimportcom.ShopException;importimportimportim

22、portpublicclassAdminService privateBookDAObookDAO =new BookDAO();privateStorgeDAOstorgeDAO=new StorgeDAO();/ 單例模式privateAdminService() privatestaticAdminServiceadminServicepublicstaticAdminService getInstance() if( adminService=null) adminService=new AdminService();returnadminService;publicvoidaddBo

23、ok(Book book) if( bookDAO .findByName(book.getName() !=thrownew ShopException(" 圖書已存在bookDAO .add(book);" );null)publicList<Book> listBook() List<Book> list =bookDAO .list();System.out .println(list.size();returnlist;publicBook getBook(intid) returnbookDAO .findById(id);publicv

24、oidupdateBook(Book book) bookDAO .update(book);publicvoidaddStorage(Storage s) Storage s2 =storgeDAO.findByBookId(s.getBookId();if(s2 =null)storgeDAO.add(s);elses2.setAmount(s2.getAmount() + s.getAmount();storgeDAO.update(s2);publicList<Storage> listStorage() List<Storage> list =storgeDA

25、O.list();for(Storage s : list) s.setBook(bookDAO .findById(s.getBookId();returnlist;3 、 /消費(fèi)者:提交、修改、刪除訂單importimportimportimportimportimportimportimportimportimportimportpublicclassCustomerService privateStorgeDAOstorgeDAO=new StorgeDAO();privateBookDAObookDAO =new BookDAO();privateOrderDAOorderDAO=n

26、ew OrderDAO();privateOrderBookDAOobookDAO = new OrderBookDAO();publicList<Storage> listStores() returnstorgeDAO.findBookInStore();publicBook findBookById(intreturnbookDAO .findById(id);id) publicforvoidviewCart(ShopCart cart) (CartItem m : cart.getItems().values() if(m.getBook() =null) Book bo

27、ok =bookDAO .findById(m.getBookId();m.setBook(book);publicvoidgenerateOrder(Order order,List<OrderBook> obooks)/ 保存 order orderDAO .add(order);/for保存 orderBook的列表(OrderBook obook:obooks)obook.setOrderid(order.getId();obookDAO .add(obook);/只有 order保存過以后才會(huì)成生idpublicList<Order> listOrderByU

28、ser(intuserid)returnorderDAO.findByUser(userid);publicOrder findOrderById(intid) returnorderDAO.findById(id);/ 修改和提交訂單都可調(diào)用此方法publicvoidupdateOrder(Order order)orderDAO.update(order);publicvoiddeleteOrder(/刪除訂單中所有的訂單列表intorderid)orderbookobookDAO .delete(orderid);/ 刪除訂單orderDAO.delete(orderid);publicList<OrderBook> findOrderBookByOrder(returnobookDAO .findByOrder(orderid);intorderid)4 、 /操作數(shù)據(jù)庫:添加圖書、查找圖書、更新圖書信息代碼importimportpublicclassBookDAO privateRowParserbook

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論