基于JAVA的圖書管理系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于JAVA的圖書管理系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于JAVA的圖書管理系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于JAVA的圖書管理系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于JAVA的圖書管理系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

WORD格式.可編輯《Java核心技術(shù)》

綜合實(shí)驗(yàn)報(bào)告課程名稱:Java核心技術(shù)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)姓名:沈倩竹學(xué)號(hào):學(xué)30110311指導(dǎo)教師:王巖成績(jī):完成日期:2015年12月18日技術(shù)資料分享精品精品感謝下載載感謝下載載1系統(tǒng)分析與設(shè)計(jì)1.1需求分析圖書管理系統(tǒng)是高校圖書館不可缺少的一部分,通過圖書管理系統(tǒng)可以實(shí)現(xiàn)計(jì)算機(jī)化的圖書借閱管理,能夠提供方便快速的圖書信息檢索功能和便捷的圖書借閱和歸還功能,并且能夠?qū)D書信息和讀者信息進(jìn)行管理,方便管理員和讀者的借閱處理。(本人實(shí)現(xiàn)了圖書添加、圖書查詢與修改、圖書類別管理、用戶添加、用戶刪除、修改密碼功能模塊的設(shè)計(jì))要求系統(tǒng)具備以下特點(diǎn)。(1)操作簡(jiǎn)單、易用。(2)數(shù)據(jù)存儲(chǔ)可靠,具備較高的處理效率。(3)系統(tǒng)安全、穩(wěn)定。(4)開發(fā)技術(shù)先進(jìn)、功能完善、擴(kuò)展性強(qiáng)。系統(tǒng)功能設(shè)計(jì)根據(jù)需求分析,本系統(tǒng)具體的功能模塊圖如圖1.2.1所示。圖1.2.1圖書借閱系統(tǒng)功能結(jié)構(gòu)圖讀A化總評(píng)理用戶管理TH!而同行理裝飾讀昔信Mfi圖1.2.1圖書借閱系統(tǒng)功能結(jié)構(gòu)圖讀A化總評(píng)理用戶管理TH!而同行理裝飾讀昔信Mfi由,擇也崖#偏思而知尸JD讀者信息管理1、讀者信息添加實(shí)現(xiàn)向數(shù)據(jù)庫(kù)中添加讀者信息的功能。2、讀者信息查詢與修改實(shí)現(xiàn)查詢指定編號(hào)、姓名、類別以及所在部門的讀者信息,并對(duì)選中的讀者信息進(jìn)行修改操作。圖書信息管理、圖書信息添加實(shí)現(xiàn)向數(shù)據(jù)庫(kù)中添加圖書信息的功能。、圖書信息查詢與修改實(shí)現(xiàn)查詢指定ISBN、圖書名稱、類別、作者以及出版社的圖書信息,并對(duì)選中的圖書信息進(jìn)行修改操作。圖書借閱管理、圖書借閱輸入讀者的編號(hào)以及借閱的圖書信息,記錄系統(tǒng)當(dāng)前時(shí)間為借閱時(shí)間。、圖書歸還輸入讀者的編號(hào)并選擇其名下已借閱的圖書,記錄系統(tǒng)當(dāng)前日期為歸還時(shí)間,判斷是否超期并計(jì)算罰金?;A(chǔ)信息維護(hù)、圖書類別設(shè)置實(shí)現(xiàn)顯示數(shù)據(jù)庫(kù)中圖書類別的功能,并對(duì)選中的圖書類別進(jìn)行增、刪、改、查功能。、讀者類別設(shè)置實(shí)現(xiàn)顯示數(shù)據(jù)庫(kù)中讀者類別的功能,并對(duì)選中的讀者類別進(jìn)行增、刪、改、查功能。、罰金設(shè)置可以指定超期一天的罰金標(biāo)準(zhǔn)。用戶管理、修改密碼實(shí)現(xiàn)當(dāng)前用戶登陸后,修改用戶自己密碼的功能。、用戶添加實(shí)現(xiàn)向數(shù)據(jù)庫(kù)中增加用戶的功能。、用戶刪除實(shí)現(xiàn)顯示數(shù)據(jù)庫(kù)中的用戶信息,并對(duì)選中的用戶進(jìn)行刪除的功能。數(shù)據(jù)庫(kù)設(shè)計(jì)根據(jù)需求分析,創(chuàng)建6個(gè)數(shù)據(jù)表,即圖書表、圖書類型表、讀者表、讀者類型表、圖書借閱表以及用戶表。1、圖書表,表名為book,包括ISBN、圖書類型編號(hào)、圖書名稱、作者、出版社、出版日期、印刷次數(shù)和單價(jià),其中ISBN為主鍵,如表1.1所示。表1.1圖書信息表book列名數(shù)據(jù)類型長(zhǎng)度是否為空說明ISBNchar10否ISBN(主鍵)typeidvarchar10是圖書類型編號(hào)booknamevarchar30是圖書名稱authorvarchar30是作者publishvarchar30是出版社publishdatedate一是出版日期printtimeint一是印刷次數(shù)unitpricemoney一是單價(jià)圖書表數(shù)據(jù)如圖1.3.1所示EBNtypeidbookraneauthorpublishputxlishddteprinttime00014數(shù)據(jù)庫(kù)原理及…劉平清華大學(xué)出版社1900-01-01AU£00021概窣論與數(shù)理...謝永北京由B電大學(xué)…1900-01-01NUIL00031意林00意林雜志出版社L9004J1-01000042中國(guó)古代文學(xué)一左^哀且大學(xué)出;版社1900-01-01AC4£00055電子技術(shù)基刊1姜裕人民就電出版社1900-01-01NULL圖1.3.1圖書表數(shù)據(jù)2、圖書類型表,表名為booktype,包括圖書類型編號(hào)、圖書類型名稱,其中圖書類型編號(hào)為主鍵,如表1.2所示。表1.2圖書類型表booktype列名數(shù)據(jù)類型長(zhǎng)度是否為空說明idint一否圖書類型編號(hào)(主鍵)typenamevarchar30是圖書類型名稱圖書類型表數(shù)據(jù)如圖1.3.2所示w-1.■.wbUwvwwW"vn,、算產(chǎn)idtypcrtame口數(shù)科2文學(xué)3架毒彳計(jì)苴機(jī)5電子6英語(yǔ)7數(shù)學(xué)AtXfNULL圖1.3.2圖書類型表數(shù)據(jù)3、讀者表,表名為reader,包括讀者編號(hào)、讀者類型編號(hào)、讀者姓名、年齡、性別、電話、所在系部、注冊(cè)日期,其中讀者編號(hào)為主鍵,如表1.3所示表1.3讀者信息表reader列名數(shù)據(jù)類型長(zhǎng)度是否為空說明readeridchar8否(主鍵)typeint一是讀者類型編號(hào)namechar20是讀者姓名ageint一是年齡sexchar4是性別phonechar11是電話deptvarchar20是所在系部

regdatedate一是注冊(cè)日期讀者表數(shù)據(jù)如圖1.3.3所示PCZD1511D6L5L2.db,.QnQw-dbo.readfirPC2O1511061512-d?,ow-dbo.booktypePC2015110&1512J...borrow-dkreaderkdtypenanieagesexphonedept11沈倩竹19女10242327W計(jì)算機(jī)21楊儂國(guó)ia男—”力建筑31李勤學(xué)19里33333333電氣4L牛曉藝n女英語(yǔ)52沈尼瑪勇182^2827448敬學(xué)hMfuraimajAB'fAff1AfJTf圖1.3.3讀者表數(shù)據(jù)4、讀者類型表,表名為readertype,包括讀者類型編號(hào)、讀者類型名稱、最多可借圖書數(shù)量、最長(zhǎng)可借閱圖書天數(shù),其中讀者類型編號(hào)為主鍵,如表1.4所示。表1.4讀者類型表readertype列名數(shù)據(jù)類型長(zhǎng)度是否為空說明idint一否讀者類型編號(hào)(主鍵)typenamevarchar20是讀者類型名稱maxborrownumint一是最多可借圖書數(shù)量limitint一是最長(zhǎng)可借閱圖書天數(shù)讀者類型表數(shù)據(jù)如圖1.3.4所示

idmaxborrownLinnlimitD學(xué)生5102教師10153員工1015圖1.3.4讀者類型表數(shù)據(jù)5、用戶表,表名為users,包括用戶編號(hào)、用戶名稱、用戶密碼,其中用戶編號(hào)為主鍵,如表1.5所小。表1.5用戶信息表users列名數(shù)據(jù)類型長(zhǎng)度是否為空說明idint一否用戶編號(hào)(主鍵)namevarchar20是用戶名稱passwordvarchar20是用戶密碼用戶表數(shù)據(jù)如圖1.3.5所示dniamepassword1401沈倩竹shenqianztiu楊依闊2222221402內(nèi)方方min1404強(qiáng)嘉雅2hangjialin1405楊金舁Yangjinsheng14M|唧咽唧illlilAU/NUU.Mil圖1.3.5用戶表數(shù)據(jù)6、圖書借閱表,表名為borrowbook,包括讀者編號(hào)、ISBN、借書日期、還書日期、罰金,其中讀者編號(hào)和ISBN為聯(lián)合主鍵,如表1.6所示。

表1.6圖書借閱表borrowbook列名數(shù)據(jù)類型長(zhǎng)度是否為空說明readeridchar8否(主鍵)ISBNchar10否ISBN(主鍵)borrowdatedate一是借書日期returndatedate一是還書日期finemoney一是罰金圖書借閱表數(shù)據(jù)如圖1.3.6所示rsadend1EENborrowdatereturndatefine■00032O15-OS-012015-0903C.QOOO02ooai2015-05-022015-0-9-060.00000300032015-05-030.00000400042015-^-012015-09-060.0000AffirjAd■「Af?fHfJTflJhnai圖1.3.6圖書借閱表數(shù)據(jù)2系統(tǒng)實(shí)現(xiàn)2.1系統(tǒng)框架項(xiàng)目分為model、view、db三個(gè)包,具體項(xiàng)目架構(gòu)的設(shè)計(jì)如圖2.1.1所示。▲tHCQm.bbrriidbJBookBorrowDao.java出BQpk?aQ.jav0JEookT^peDsoJava0比Daoijava-[7ReaderDaojavaJReaderTypeDaojava■上UEerDsojav^■由com,bbnn.model卜l」[Bcrpkjgva【,工BookTypeJava[J]BorrowBookjava|J~Readerjava卜[TReaderTypeJavaj_TU&ers.java■,'£}comibbm.vie-w,J]BoolcAdd.java,LBookBarrowjjvdJ]BoolcR.eturn,java上BookSelectandUpdatejava支|BooktypeAdmJava.IjFineSetjava4.J_Libraryjava■.£iLogIn.java.TPaiswordChangejava.£)ReaderAddjava,j_ReaderS&lectandUpdatejava印ReadertypeAdmjava,TUserAddjavd口JUJ5,Pl[lelete.iava圖2.1.1圖書借閱表數(shù)據(jù)1、在com.bbm.model包中創(chuàng)建圖書借閱管理系統(tǒng)中的實(shí)體類:Book類,BookType類,Reader類,ReaderType類,Users類,BorrowBook類,如表2.1所示。表2.1實(shí)體類表com.bbm.model文件名說明Book.java圖書類模型BookType.java圖書類型類模型

BorrowBook.java圖書借閱類模型Reader.java讀者類模型ReaderType.java讀者類型類模型Users.java用戶類模型2.2所示2、在com.bbm.view包中創(chuàng)建圖書借閱管理系統(tǒng)中的界面及功能類,如表2.2所示表2.2界面類表com.bbm.view文件名說明Login.java登陸界面及功能Library.java系統(tǒng)主界面及功能BookAdd.java圖書添加界面及功能BookBorrow.java圖書借閱界面及功能BookReturn.java圖書歸還界面及功能BookSelectandUpdate.java圖書查詢與修改界面及功能BooktypeAdm.java圖書類型管埋界面及功能ReaderAdd.java讀者添加界囿及功能ReaderSelectandUpdate.java讀者查詢與修改界面及功能ReadertypeAdm.java讀者類型管埋界面及功能UserAdd.java用戶添加界面及功能UserDelete.java用戶刪除界面及功能

PasswordChange.java修改密碼界面及功能FineSet.java罰金設(shè)置界面及功能3、在com.bbm.db包中創(chuàng)建圖書借閱管理系統(tǒng)中的數(shù)據(jù)訪問操作類,如表2.3所示表2.3數(shù)據(jù)訪問操作類表com.bbm.db文件名說明Dao.java基本數(shù)據(jù)訪問操作類ReaderDao.java讀者操作類BookDao.java圖書操作類ReaderTypeDao.java讀者類型操作類BookTypeDao.java圖書類型操作類BookBorrowDao.java圖書借閱操作類UserDao.java用戶操作類2.2圖書類型管理模塊的實(shí)現(xiàn)圖書類型管理模塊界面的設(shè)計(jì)與實(shí)現(xiàn)圖書類型管理模塊界面的實(shí)現(xiàn)分為三個(gè)面板,圖書類型查詢面板(selectjp),其中包含查詢結(jié)果面板(jspjp)位于selectjp中部,selectjp整體位于整個(gè)JFrame的北部,修改信息面板(infojp)位于整個(gè)JFrame中部,按鈕面板(buttonjp)位于整個(gè)JFrame南部。如圖2.2.1所示。圖2.2.1圖書類型管理模塊界面主要代碼如下:selectjp.add(jspjp,BorderLayout.CENTER);this.add(selectjp,BorderLayout.NORTH);this.add(infojp,BorderLayout.CENTER);this.add(buttonjp,BorderLayout.SOUTH);圖書類型管理模塊數(shù)據(jù)操作的設(shè)計(jì)與實(shí)現(xiàn)本模塊需要進(jìn)行的數(shù)據(jù)操作如下:1、獲取數(shù)據(jù)庫(kù)中圖書類型表中的數(shù)據(jù)主要代碼如下:publicstaticList<BookType>selectBookType(){List<BookType>list=newArrayList<BookType>();Stringsql="select*frombooktype";ResultSetrs=Dao.executeQuery(sql);try{while(rs.next()){BookTypebt=newBookType();bt.setId(rs.getInt("id"));bt.setTypename(rs.getString("typename"));list.add(bt);}}catch(Exceptione){e.printStackTrace();}Dao.close();returnlist;}2、對(duì)指定的圖書類型的圖書信息進(jìn)行查詢主要代碼如下:publicstaticList<BookType>selectBookTypeName(Stringtype){List<BookType>list=newArrayList<BookType>();Stringsql="select*frombooktypewheretypenamelike'%"+type+"%'";ResultSetrs=Dao.executeQuery(sql);try{while(rs.next()){BookTypebt=newBookType();精品精品感謝下載載感謝下載載精品精品}感謝下載載}感謝下載載bt.setId(rs.getInt("id"));bt.setTypename(rs.getString("typename"));list.add(bt);}}catch(Exceptione){e.printStackTrace();}Dao.close();returnlist;}3、對(duì)其進(jìn)行添加操作主要代碼如下:publicstaticintinsertBookType(Stringbtno,Stringtypename){inti=0;try{Stringsql="insertintobooktypevalues("+btno+",'"+typename+"')";i=Dao.executeUpdate(sql);}catch(Exceptione){e.}Dao.close();returni;4、對(duì)其進(jìn)行修改操作代碼同3,具體sql語(yǔ)句如下:Stringsql="updatebooktypesetid="+btno+",typename='"+typename+"'whereid="+btno+"";5、對(duì)其進(jìn)行刪除操作代碼同3,具體sql語(yǔ)句如下:Stringsql="deletefrombooktypewhereid="+id+"";2.2.3圖書類型管理模塊功能的設(shè)計(jì)與實(shí)現(xiàn)本模塊實(shí)現(xiàn)的功能如下:2.2.1所示。1、獲取數(shù)據(jù)庫(kù)中圖書類型表中的數(shù)據(jù)到JTable2.2.1所示。主要代碼為:Object[][]results=getSelect(BookTypeDao.selectBookType());//顯示圖書類別信息//添加鼠標(biāo)監(jiān)聽classTableListenerextendsMouseAdapter{@OverridepublicvoidmouseClicked(MouseEvente){intselRow=jt.getSelectedRow();//獲取選擇表中的某一行保存信息btnojtf.setText(jt.getValueAt(selRow,0).toString().trim());//獲取列并賦值btnamejtf.setText(jt.getValueAt(selRow,1).toString().trim());}}所示。2、對(duì)查詢按鈕添加監(jiān)聽器(SelectAction),對(duì)圖書類別進(jìn)行模糊查詢,如圖2.2.2所示。圖2.2.2查詢功能的實(shí)現(xiàn)主要代碼為:classSelectActionimplementsActionListener{@OverridepublicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstubStringbtname=btjtf.getText().trim();BookTypeDao.selectBookTypeName(btname);Object口口results=getSelect(BookTypeDao.selectBookTypeName(btname));jt=newJTable(results,readersearch);jsp.setViewportView(jt);jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);}}例如:3、對(duì)添加按鈕添加監(jiān)聽器(AddAction),向圖書類別表中添加新的圖書類別信息

添加編號(hào)為“8”,名稱為“化學(xué)”的圖書類別信息,如圖2.2.3(1)所示。例如:4、圖223(1)添加成功更新后,如圖2.2.3(2)所示圖2.2.3(2)添加功能的實(shí)現(xiàn)主要代碼為:classAddActionimplementsActionListener{@OverridepublicvoidactionPerformed(ActionEvente){if(btnojtf.getText().length()==0){JOptionPane.showMessageDialog(null,"圖書類型編號(hào)不能為空!");return;}if(btnamejtf.getText().length()==0){JOptionPane.showMessageDialog(null,"圖書類型名稱不能為空!");return;}Stringbtno=btnojtf.getText().trim();Stringbtname=(String)btnamejtf.getText().trim();inti=BookTypeDao.insertBookType(btno,btname);if(i==1){JOptionPane.showMessageDialog(null,"添力口成功)Object口口results=getSelect(BookTypeDao.selectBookType());jt=newJTable(results,readersearch);jsp.setViewportView(jt);jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);}}}5、對(duì)修改按鈕添加監(jiān)聽器(UpdateAction),修改圖書類別表中信息,例如將剛剛添加的“化學(xué)”修改為“生物”,如圖224(1)所示。圖2.2.4(1)修改成功更新后,如圖2.2.4(2)所示3生物r-iAfmlEQ圖224(2)修改功能的實(shí)現(xiàn)主要代碼為:classUpdateActionimplementsActionListener{@OverridepublicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstubStringbtno=btnojtf.getText().trim();Stringbtname=btnamejtf.getText().trim();inti=BookTypeDao.updateBookType(btno,btname);System.out.println(i);if(i==1){JOptionPane.showMessageDialog(null,"修改成功");Object口口results=getSelect(BookTypeDao.selectBookType());jt=newJTable(results,readersearch);jsp.setViewportView(jt);jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);}}}

6、對(duì)刪除按鈕添加監(jiān)聽器(DeleteAction),刪除圖書類別表中信息,例如將剛剛修改的“生物”刪除,如圖225(1)所示圖2.2.5(1)刪除成功更新后,如圖2.2.5(2)所示主要代碼為:classDeleteActionimplementsActionListener{@OverridepublicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstubStringbtno=btnojtf.getText().trim();inti=BookTypeDao.deleteBookType(btno);System.out.println(i);if(i==1){JOptionPane.showMessageDialog(null,"刪除成功!");Object[][]results=getSelect(BookTypeDao.selectBookType());jt=newJTable(results,readersearch);jsp.setViewportView(jt);jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);}}}6、對(duì)退出按鈕添加監(jiān)聽器(OutAction),實(shí)現(xiàn)關(guān)閉程序功能。主要代碼如下:classOutActionimplementsActionListener{@OverridepublicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstubsetVisible(false);}2.3用戶添加模塊的實(shí)現(xiàn)用戶添加模塊界面的設(shè)計(jì)與實(shí)現(xiàn)用戶添加模塊界面的實(shí)現(xiàn)分為兩個(gè)面板,用戶添加信息面板(jp1,一個(gè)2行兩列的表格)位于整個(gè)JFrame的中部,按鈕面板(buttonjp)位于整個(gè)JFrame的南部。如圖2.3.1所示。圖2.3.1用戶添加模塊界面主要代碼如下:jp1.setLayout(newGridLayout(2,2));this.add(j

溫馨提示

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

評(píng)論

0/150

提交評(píng)論