秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOCX文檔下載  

JAVA+SQL圖書館管理系統(tǒng)課程設(shè)計

  • 資源ID:253596442       資源大?。?span id="mzebxcnn0" class="font-tahoma">1.30MB        全文頁數(shù):44頁
  • 資源格式: DOCX        下載積分:12積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要12積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

JAVA+SQL圖書館管理系統(tǒng)課程設(shè)計

畢業(yè)設(shè)計(論文) 題目: 圖書館管理系統(tǒng) 姓 名 學(xué) 號 專 業(yè) 計算機科學(xué)與技術(shù) 指導(dǎo)教師 2 目錄 摘要 IV 前言 V 第一章 圖書館管理系統(tǒng)分析 1 1.1 需求分析 1 1.2 功能分析 2 1.3 系統(tǒng)用例圖設(shè)計 2 1.4 繪制系統(tǒng)流程圖 3 1.5 系統(tǒng)的開發(fā)環(huán)境 4 第二章數(shù)據(jù)庫分析與設(shè)計 5 2.1 數(shù)據(jù)庫分析 5 2.2 數(shù)據(jù)庫概念設(shè)計 5 2.3 數(shù)據(jù)邏輯結(jié)構(gòu)設(shè)計 7 2.4 各表之間的聯(lián)系圖 9 第三章系統(tǒng)設(shè)計與功能實現(xiàn) 10 3.1 數(shù)據(jù)庫Dao類的構(gòu)建 10 3.2 系統(tǒng)登錄模塊 11 3.3 主窗體模塊 13 3.4 圖書類別管理模塊 15 3.5 圖書信息管理模塊 17 3.6 讀者信息管理模塊 21 3.7 圖書訂購管理模塊 24 3.8 圖書借閱管理模塊 27 3.9 系統(tǒng)維護(hù)模塊 30 第四章系統(tǒng)測試 35 4.1 測試項目 35 4.2 測試用例 35 結(jié)束語 37 參考文獻(xiàn) 38 iii 圖書館管理系統(tǒng) 摘要 圖書館管理系統(tǒng)是采用Java做前臺,后臺數(shù)據(jù)庫則采用的是 SQL Server 2005,本系 統(tǒng)提供6個功能模塊,分別是圖書類別管理模塊、圖書信息管理模塊、讀者信息管理模塊、 新書訂購管理模塊、圖書借閱模塊,以及系統(tǒng)維護(hù)模塊。這 6個模塊里又有許多子模塊, 通過這些模塊之間的相互連接與配合,完成操作員發(fā)出的各種指令。 圖書館管理系統(tǒng)是一個供內(nèi)部人員使用的系統(tǒng)。而圖書館的工作人員也分為兩類,一 類是操作人員,主要負(fù)責(zé)圖書的借閱和歸還的工作;一類是管理員,除了操作人員的所有 功能外,還能夠?qū)斜?、書籍信息、讀者信息等進(jìn)行管理。 論文將全面介紹所設(shè)計的圖書館管理系統(tǒng)的系統(tǒng)功能和業(yè)務(wù)流程,并對系統(tǒng)進(jìn)行詳細(xì) 的數(shù)據(jù)分析和設(shè)計,最終使用Java完成系統(tǒng)開發(fā)。 關(guān)鍵詞:圖書館管理系統(tǒng),SQL Server 2005, Java 5 刖百 隨著社會的發(fā)展,人們對于知識的需求也在不斷地增長。書籍作為人們獲取并增長知 識的主要途徑,使得圖書館在人們生活中占有了一定位置。但是近幾年來,隨著書量的不 斷增長,造成了書庫空間極度不足,圖書擠壓,管理不善。這些都直接影響了讀者對圖書 館藏書的充分利用。這時圖書館就特別需要開發(fā)一套圖書館管理系統(tǒng),通過該系統(tǒng)來提高 圖書館的管理效率,從而減少管理方面的工作流和成本。 一個現(xiàn)代化的圖書館在正常運營中總是面對大量的讀者信息,書籍信息以及兩者相互 作用產(chǎn)生的借書信息,還書信息。面對圖書館數(shù)以萬計的圖書,紛繁復(fù)雜的讀者信息,頻 繁更替的借還書信息,傳統(tǒng)的直接方法不但管理出現(xiàn)漏洞, 造成損失。因此有一個智能化、 系統(tǒng)化、信息化的圖書管理系統(tǒng)十分重要的。充分利用計算機的功能實現(xiàn)對讀者管理、書 籍管理,借閱管理等自動化控制,將會使圖書館的工作大大減弱。方便友好的圖形界面、 簡便的操作、完善的數(shù)據(jù)庫管理。將會使得圖書館系統(tǒng)極大限度的應(yīng)用于現(xiàn)代化圖書管理 中。 第一章圖書館管理系統(tǒng)分析 1.1 需求分析 圖書館管理系統(tǒng)是一個高度集成的圖書信息處理系統(tǒng),通過將圖書館的各種功能進(jìn)行 整合,從而達(dá)到顯示檢索信息,提高工作效率,降低管理成本等目的。一個典型的圖書館 管理系統(tǒng)應(yīng)該能夠管理所有的圖書種類,圖書信息以及讀者信息,還需要提供各種圖書信 息的檢索查詢功能。該系統(tǒng)還需要能夠?qū)D書的借閱,歸還進(jìn)行管理,并對讀者的罰款進(jìn) 行自動計算。通過該系統(tǒng)的自動化管理,能夠大大減少圖書館管理人員,還能減少管理人 員的工作任務(wù),從而降低管理開銷和成本。 一個完整的圖書館管理系統(tǒng)包括前臺和后臺,前臺主要是顯示在計算機屏幕上的顯示 界面,有各種指令按鈕,操作框以及文本框,后臺主要是為前臺的一些操作提供一些必要 的數(shù)據(jù),也就是一個相對于系統(tǒng)比較完整的數(shù)據(jù)庫,操作員以及各類圖書的信息,借書者 的信息等等。 一個最基本的圖書館管理系統(tǒng)要有如下幾個重要功能: (1)用戶在借書超期的情況下得到來自管理員的提醒。 (2)管理員可以方便進(jìn)行圖書管理,用戶管理,管理員管理。圖書管理包括圖書信 息以及圖書分類的添加,修改,刪除。用戶管理包括用戶信息的添加,刪除,修改。管理 員管理包括管理員信息的添加,刪除,修改等。 (3)用戶和管理員可以修改自己的密碼,修改前需先核實自己的原始密碼。 (4)未注冊用戶(游客)也可以瀏覽所有的圖書信息和分類信息,但是無法借閱。 (5)實現(xiàn)模糊查詢,使用戶得到更多的相關(guān)記錄。并且考慮使用的方便性,一些經(jīng) 常使用的輸入無須用戶輸入,比如進(jìn)行圖書查詢時圖書分類只須用戶做選擇就可以。 (6)考慮程序執(zhí)行操作時可能出現(xiàn)的情況,比如刪除圖書分類時該分類下存在圖書, 程序自動跳轉(zhuǎn)該分類圖書查看。刪除某個用戶,如果存在借書記錄則不允許刪除,跳轉(zhuǎn)到 該用戶的借書記錄。等待管理員確認(rèn)該用戶所借圖書已經(jīng)全部歸還之后才允許刪除該用戶 信息。 一個圖書館管理系統(tǒng)要是能實現(xiàn)以上的各種功能,那么這個圖書館管理系統(tǒng)也就算是 比較成功的一個系統(tǒng)了。 1.2 功能分析 根據(jù)以上需求分析,我所設(shè)計的圖書館管理系統(tǒng)有 6個功能模塊,分別是圖書類別管 理模塊,圖書信息管理模塊,讀者信息管理模塊,新書訂購管理模塊,圖書借閱模塊以及 系統(tǒng)維護(hù)模塊。其中各功能模塊的具體說明如下: 圖書類別管理模塊:該模塊主要負(fù)責(zé)管理圖書館的圖書種類信息, 如圖書種類的名稱、 可借天數(shù)、罰款數(shù)目等信息。 圖書信息管理模塊:該模塊主要負(fù)責(zé)管理圖書館的圖書信息,如圖書編號、圖書名稱、 作者、出版社等信息。 讀者信息管理模塊:該模塊主要負(fù)責(zé)管理圖書館的讀者信息,如讀者編號、讀者信息、 證件號碼、最大借書量等信息。 圖書訂購管理模塊:該模塊主要負(fù)責(zé)管理圖書館的新書訂購信息、包括新書訂購和驗 收新書兩個子模塊。 圖書借閱管理模塊:該模塊主要負(fù)責(zé)圖書館的書籍借閱和歸還信息,包括圖書借閱、 圖書歸還、圖書搜索3個子模塊。 系統(tǒng)維護(hù)模塊:該模塊主要負(fù)責(zé)圖書館的工作人員信息,包括用戶管理和更改系統(tǒng)口 令兩個子模塊。 1.3 系統(tǒng)用例圖設(shè)計 圖書館管理系統(tǒng)是一個內(nèi)部人員使用的系統(tǒng),也就是說不是所有的人都能夠使用它, 只有圖書館的工作人員才能使用。而圖書館的工作人員也分為兩類,一類是操作人員,主 要負(fù)責(zé)圖書的借閱和歸還的工作;一類是管理員,除了操作人員的所有功能外,還能夠?qū)?書籍列表,書籍信息,讀者信息等進(jìn)行管理。下面以管理員為例繪制其所對應(yīng)的用例圖如 圖1.1所示。 1.4 繪制系統(tǒng)流程圖 本系統(tǒng)首先需要對用戶的身份進(jìn)行識別,只有合法的用戶才能進(jìn)入系統(tǒng),否則將無法 進(jìn)入系統(tǒng)。進(jìn)入系統(tǒng)后,首先打開系統(tǒng)主窗體,在系統(tǒng)首頁的菜單欄或者功能區(qū)可以選擇 各種導(dǎo)航鏈接來進(jìn)行各種操作。由于不同權(quán)限的用戶對于系統(tǒng)有不同的功能,下面以功能 最多的管理員為例,其系統(tǒng)流程圖如圖 1.2所示。 圖1.2系統(tǒng)流程圖 圖書類別管理 系統(tǒng)維護(hù) 用戶 管理 者息加 讀信添 書息改 圖信修 書息加 圖信添 書別改 圖類修 書別加 圖類添 1.5 系統(tǒng)的開發(fā)環(huán)境 圖書館管理系統(tǒng)的具體開發(fā)環(huán)境要求如下: (1)系統(tǒng)開發(fā)平臺:Eclipse 34 (2)數(shù)據(jù)庫管理系統(tǒng)軟件:SQL Server 200s (3)運行平臺:Windows 7。 (4) Java開發(fā)包:JDK 5.0以上。 (5)分辨率:800>600以上。 (6) GUI 開發(fā)包:Swing。 16 第二章數(shù)據(jù)庫分析與設(shè)計 6.1 數(shù)據(jù)庫分析 在開發(fā)圖書館管理系統(tǒng)時,考慮到圖書量大,數(shù)據(jù)庫維護(hù)大的特點,選用 SQL Server 2005作為數(shù)據(jù)庫管理系統(tǒng)。在 SQL Server 2005中新增一個數(shù)據(jù)庫,其數(shù)據(jù)庫名為 db_library。數(shù)據(jù)庫中可以包含圖書信息、圖書類別信息、圖書借閱信息、操作員信息、圖 書訂購信息及讀者信息等實體,用來存儲不同的信息。 6.2 數(shù)據(jù)庫概念設(shè)計 本系統(tǒng)一共設(shè)計規(guī)劃出6個實體,分別是圖書類別信息實體、圖書信息實體、讀者信 息實體、操作員實體、圖書借閱信息實體以及圖書訂購信息實體。 圖書的類別有很多,因此可以建立一個圖書館類別信息表,專門用來保存圖書的類別 信息。同時因為每種類別的書籍閱讀時間有所不同,所以需要在類別表中保存該類別可借 天數(shù)信息。圖書類別信息實體 E-R圖如圖2.1所示。 圖2.1圖書類別信息實體 E-R圖 對于圖書館來說最重要的就是要管理其下的書籍,所以需要建立一個圖書信息表,用 來保存圖書的所有信息。圖書信息實體 E-R圖如圖2.2所示 圖2.2圖書信息實體 E-R圖 要想在圖書館借書首先需要進(jìn)行登記并交付押金。領(lǐng)取讀書卡才能借書。所以需要建 立一個讀者信息表來保存圖書館的所有讀者的登記信息。讀者信息實體 E-R圖如圖2.3所 示。 圖書館里一般有一個以上的系統(tǒng)操作員,需要建立一個操作員信息表,用來保存操作 員的身份信息。操作員信息實體 E-R圖如圖2.4所示。 圖書館最大的功能就是能夠借書,這時需要建立一個圖書借閱信息表,用來保存讀者 的借書信息。圖書的借閱信息實體 E-R圖如圖2.5所示。 圖書館除了借書,還需要到出版社或其他代理商訂購新書,這是需要建立一個圖書訂 購信息表,用來保存所有的訂購信息。圖書訂購信息實體 E-R圖如圖2.6所示。 圖2.6圖書訂購信息實體 E-R圖 6.3 數(shù)據(jù)邏輯結(jié)構(gòu)設(shè)計 根據(jù)設(shè)計好的各實體E-R圖創(chuàng)建數(shù)據(jù)庫的邏輯結(jié)構(gòu),數(shù)據(jù)庫各表的結(jié)構(gòu)如下: (1)圖書類別信息采表用來儲存所有的圖書類別信息,包括圖書類別編號、圖書類別名 稱、可借天數(shù)以及遲還一天的罰款數(shù)目 4個字段。該表的邏輯結(jié)構(gòu)如表 2.1所示。 表2.1圖書類別信息表 id 整數(shù)(int) 是 圖書類別編號 typeName ( varchar) 否 圖書類別名稱 days 整數(shù)(int) 否 可借天數(shù) fk 遲還一天的罰款數(shù)目 (2)圖書信息表用來儲存所有的圖書信息,包括圖書編號、類別編號、圖書名稱、作者、 譯者、出版社、出版日期以及書籍價格 8個字段。該表的邏輯結(jié)構(gòu)如表 2.2所示。 表2.2圖書信息表 ISBN 文本(varchar) 是 圖書編號 typeId 整數(shù)(int) 否(外鍵) 類別編號 bookname ( varchar) 否 圖書名稱 writer ( varchar) 否 作者 translator ( varchar) 否 譯者 publisher ( varchar) 否 出版社 date 日期時間(datetime) 否 出版日期 price money 書籍價格 (3)讀者信息表用來儲存所有的讀者信息,包括讀者姓名、性別、年齡、證件號碼、會 員證有效日期、最大借書量、電話號碼、押金、證件類型、職業(yè)、讀者編號以及辦證日期 12個字段。該表的邏輯結(jié)構(gòu)如表 2.3所示 表2.3讀者信息表 鍵 name 文本(varchar) 是 讀者姓名 sex ( varchar) 否(外鍵) 讀者性別 age 整數(shù)(int) 否 讀者年齡 identityCard ( varchar) 否 證件號碼 date 日期時間(datetime) 否 會員證有效日期 maxNum 整數(shù)(int) 否 取大怎書里 tel ( varchar) 否 電話號碼 keepMoney 金錢貨幣(money) 否 押金 zj 整數(shù)(int) 否 證件類型 zy ( varchar) 否 職業(yè) ISBN ( varchar) 是 讀名編p bztime datetime 否 辦證日期 (4) 操作員信息表用來保存操作員信息, 包括操作員編號、用戶名、 性別、年齡、證件 號碼、 工作時間、 電話號碼、是否為管理員 、密碼 9個字段。該表的邏輯結(jié)構(gòu)如表 2.4 示。 表2.4操作員信息表 字段名 鍵 描述 id 整數(shù)(int) 是(自動遞增) 操作員編號 name ( varchar) 否 用戶名 sex ( varchar) 否 性別 age 整數(shù)(int) 否 年齡 identityCard ( varchar) 否 證件號碼 workdate 日期時間(datetime) 否 工作時間 tel ( varchar) 否 電話號碼 admin 整數(shù)(int) 否 是否為管理員 password varchar) 否 密碼 (5) 圖書借閱信息表用來保存所有圖書的借閱信息,包括借閱編號、 書籍編號、操作員 編號、 讀后編》、. 是夠歸還、借書日期以及應(yīng)還日期 7字段。該表的邏輯結(jié)構(gòu)如表 2.5 示。 表2.5 圖書借閱信息表 字段名 數(shù)據(jù)類型 是否主鍵 描述 id 整數(shù)(int) 是(自動遞增) 借閱編號 bookISBN ( varchar) 否(外鍵) 書籍編號 operatorId 整數(shù)(int) 否(外鍵) 操作員編號 readerISBN varchar 讀后編R isback int borrowDate 日期時間(datetime) 否 借書日期 backdate datetime 應(yīng)還日期 (6)圖書訂購信息表用來保存圖書館的所有訂購信息,包括書籍編號、訂購日期、訂購 數(shù)量、操作員、是否驗收以及書籍折扣 6個字段。該表的邏輯結(jié)構(gòu)如表2.6所示。 表2.6圖書訂購信息表 ISBn ( varchar) 是 書籍編號 date 日期時間(datetime) 否 訂購日期 number 整數(shù)(int) 否 訂購數(shù)量 operator ( varchar) 否 操作員 checkAndAccep t 整數(shù)(int) 否 是否驗收 zk 浮點 否 書籍折扣 6.4 各表之間的聯(lián)系圖 各表間的聯(lián)系圖如圖2.7所示 固 tb_borrow 卜頌有現(xiàn) id booklSCN operaiorld neaderTSBN 國 tb_operator 士廝有列D name 4 age 國tb_booklnfo 園 thqnd.r ,d date rxirriber operator dieckAndAccept jJ 啕f育列) ISBN typeld bookname witer 圖2.7各表間聯(lián)系圖 國 tb bookType .唯族5現(xiàn) typeName days ft 第三章系統(tǒng)設(shè)計與功能實現(xiàn) 3.1數(shù)據(jù)庫Dao類的構(gòu)建 首先定義了一個類Dao,并為該類添加了 4中方法,分別是構(gòu)造方法 Dao、查詢方法 executeQuery更新方法executeUpdate以及關(guān)閉連接方法 close。 public class Dao { protected static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//數(shù)據(jù)庫連接驅(qū)動類 protected static String dbUrl = "jdbc:sqlserver://localhost:1433; + "DatabaseName=db_library;";//數(shù)據(jù)庫連接 URL protected static String dbUser = "sa"; protected static String dbPwd = "123"; private static Connection conn = null; //數(shù)據(jù)庫用戶名 //數(shù)據(jù)庫密碼 //數(shù)據(jù)庫連接對象 private static String ISBN; private Dao() { //構(gòu)造方法 try { if (conn == null) { //如果連接對象為空 Class.forName(dbClassName); //加載驅(qū)動類 conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);〃獲得連接對 } } catch (Exception ee) { ee.printStackTrace(); } } private static ResultSet executeQuery(String sql) { 〃查詢方法 try { if(conn==null) new Dao(); //如果連接對象為空,則重新調(diào)用構(gòu)造方法 return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE).executeQuery(sql);/腴行查詢 } catch (SQLException e) { e.printStackTrace(); return null; //返回 null 值 } finally { } } private static int executeUpdate(String sql) { //更新方法 try { if(conn==null) new Dao(); //如果連接對象為空,則重新調(diào)用構(gòu)造方法 return conn.createStatement().executeUpdate(sql)蜿行更新 } catch (SQLException e) { e.printStackTrace(); return -1; } finally { } } public static void close() {//關(guān)閉方法 try { conn.close();//關(guān)閉連接對象 } catch (SQLException e) { e.printStackTrace(); }finally{ conn = null; //設(shè)置連接對象為null值 } } 3.2系統(tǒng)登錄模塊 3.1 對于圖書館管理系統(tǒng)而言,不是所有的用戶都是可以使用的,所有需要添加一個登陸 模塊。通過該模塊來對用戶的合法性進(jìn)行判斷,只有合法的用戶才能進(jìn)入到系統(tǒng)。整個登 陸模塊的實現(xiàn)非常簡單,相信讀者能夠快速掌握其開發(fā)過程。登錄模塊的運行結(jié)果如圖 所示。 圖3.1系統(tǒng)登錄界面 3.2.1 登陸窗體界面設(shè)計與實現(xiàn) 登陸窗體的界面設(shè)計我依然采用的是比較傳統(tǒng)的方法,新建一個類 BookLoginFrame 類,用來顯示登錄窗體。在該窗體中需要使用到四類控件,分別是 JLabel、JTextFieid、 JPasswordField以及JButton。其中控件JLabel是用來顯示頂部的圖片以及標(biāo)簽文本;控件 JTextFieid用來接收用戶名輸入信息;控件 JPasswordField用來接收密碼輸入信息;控件 JButton用來創(chuàng)建登陸和重置按鈕。 3.2.2 操作員登陸 在Dao類中新增一個方法check,通過該方法來檢測用戶信息是否合法。該方法接收 兩個參數(shù),分別是操作員用戶名 name,操作員密碼passsward主要方法如下: public static Operater check(String name, String password) { Operater operater=new Operater();操作員信息對象 String sql = "select * from tb_operator where name='" + name + "' and password='" + password + "'and admin=1"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { operater.setId(rs.getString("id")); operater.setName(rs.getString("name")); operater.setGrade(rs.getString("admin")); operater.setPassword(rs.getString("password")); 3.3 主窗體模塊 圖書館管理系統(tǒng)的主窗體模式是由三個部分組成的。第一部分是位于主窗體上組上端 的系統(tǒng)菜單欄,用來實現(xiàn)鏈接系統(tǒng)功能菜單。第二部分位于菜單欄下面的工具欄,用來提 供各種常用功能鏈接。第三部分位于工具下的系統(tǒng)功能窗口區(qū)域,主要用來顯示各種功能 窗口。 3.3.1 主窗體界面設(shè)計 在主窗體中可以顯示其他功能窗體,所以需要在該窗體中加入一個桌面窗體。通過將 其他功能窗體加入到該窗體中。從而實現(xiàn)多窗體顯。同時在主窗口體中,還需要添加一個 main方法,該方法為系統(tǒng)入口的方法,通過執(zhí)行該方法來執(zhí)行系統(tǒng)。其主要代碼如下: public class Library extends JFrame { private static final JDesktopPane DESKTOP_PANE = new JDesktopPane()以面窗體 public static void main(String口 args) { try { UIManager.setLookAndFeel(UIManager .getSystemLookAndFeelClassName());/設(shè)置系統(tǒng)界面外觀 new BookLoginIFrame();//登錄窗口 } catch (Exception ex) { ex.printStackTrace(); } } public static void addIFame(JInternalFrame iframe) { // 添力口子窗體的方法 DESKTOP_PANE.add(iframe); //新增子窗體 } } 下面再來配置主窗體的其他屬性,首先需要設(shè)置其大小和位置,然后還要設(shè)置其菜單 欄和工具欄,最后需要在桌面窗體中添加一個背景圖片。其代碼實現(xiàn)如下。 public Library。{ super(); setDefaultCloseOperation( //獲得默認(rèn)的工具箱 //獲得屏幕的大小 //設(shè)置窗體大小 WindowConstants.EXIT_ON_CLOSE);////設(shè)置關(guān)閉按鈕處理事件 Toolkit tool = Toolkit.getDefaultToolkit(); Dimension screenSize = tool.getScreenSize(); setSize(800, 600); setLocation((screenSize.width - getWidth()) / 2, (screenSize.height - getHeight()) / 2); //設(shè)置窗體位置 setTitle("圖書館管理系統(tǒng)"); //設(shè)置窗體標(biāo)題 JMenuBar menuBar = createMenu(); 〃調(diào)用創(chuàng)建菜單欄的方法 setJMenuBar(menuBar); 〃設(shè)置菜單欄 JToolBar toolBar = createToolBar(); // 調(diào)用創(chuàng)建工具欄的方法 getContentPane().add(toolBar, BorderLayout.NORTH);/S 置工具欄 final JLabel label = new JLabel(); //創(chuàng)建一個標(biāo)簽,用來顯示圖片 label.setBounds(0, 0, 0, 0); //設(shè)置窗體的大小和位置 label.setIcon(null); // 窗體背景 DESKTOP_PANE.addComponentListener(new ComponentAdapter() { public void componentResized(final ComponentEvent e) { Dimension size = e.getComponent().getSize();康得組件大/」、 label.setSize(e.getComponent().getSize());改置標(biāo)簽大小 label.setText("<html><img width=" + size.width + " height=" + size.height + " src='" + this.getClass().getResource("/backImg.jpg") + "'></html>");//設(shè)置標(biāo)簽文本 } }; DESKTOP_PANE.add(label,new Integer(Integer.MIN_\ALUE));// 將標(biāo)簽添加到桌面 窗體 getContentPane().add(DESKTOP_PANE);//1桌面窗體添力口至 U 主窗體中 } 3.3.2 主窗體菜單欄設(shè)計 在Library類中定義一個createMenu方法,在該方法中實現(xiàn)菜單欄的設(shè)計。具運行界 面如圖3.2所示。 圖書措I身 一互毛TZ空屋花 匐節(jié)布管理 圖3.2主窗體界面 3.4 圖書類別管理模塊 圖書類別管理模塊包含兩個子模塊,分別是圖書類別添加和圖書類別修改。其中圖書 類別添加模塊用來錄入新的圖書類別信息,圖書列別修改模塊用來修改已有的圖書列別信 息。系統(tǒng)界面如圖3.3所示。 17 圖3.3圖書類別修改界面 3.4.1圖書類別添加模塊 要添加圖書類別信息,首先要在 Dao中添加一個InsertbookType方法,通過該方法來 接受用戶輸入的所有書籍類別信息,然后執(zhí)行插入操作。其主要方法如下: public static int InsertBookType(String bookTypeName,String days,double fk){ int i=0; try{String sql="insert into tb_bookType(typeName,days,fk) values('"+bookTypeName+"','"+days+"',"+fk+")"; i=Dao.executeUpdate(sql);/枚行插入操作 } } 3.4.2圖書類別修改模塊 修改圖書類別信息同保存圖書類別信息非常類似,首先在 Dao中添加一個方法 UpdatebookTypa通過該方法來接收圖書修改表單中提交的書籍類別信息。其代碼如下: public static int UpdatebookType(String id,String typeName,String days,String fk){ int i=0; try{String sql="update tb_bookType set typeName='"+typeName+"', days='"+days+"',fk='"+fk+”' where id='"+id+"'"; 〃System.out.println(sql); i=Dao.executeUpdate(sql);例行更新操作 } } 修改圖書類別信息,是通過單擊修改按鈕執(zhí)行的,上面我們已經(jīng)為修改按鈕注冊了一 個監(jiān)聽器,其對應(yīng)的監(jiān)聽器類為 ButtonActionLinter。下面來實現(xiàn)該監(jiān)聽器類,其實現(xiàn)代碼 如下: class ButtonAddListener implements ActionListener{ public void actionPerformed(ActionEvent e){ Object selectedItem = bookTypeModel.getSelectedItem(); int i=Dao.UpdatebookType(BookTypeId.getText().trim(),selectedItem. toString(), days.getText().trim(),fk.getText().trim()); System.out.println(i); if(i==1){//如果返回值為1,則表示修改成功 JOptionPane.showMessageDialog(null,修改成功"); Object口□ results=getFileStates(Dao.selectBookCategory()); model.setDataVector(results,columnNames); table.setModel(model); } } } 3.5 圖書信息管理模塊 圖書信息管理模塊包含兩個子模塊,分別是圖書信息添加和圖書信息修改。其中圖書 信息添加模塊用來錄入新的圖書信息,圖書信息修改模塊用來修改已有的圖書信息。 3.5.1 圖書信息添加界面設(shè)計 圖書信息添加窗體一共包含三個部分,第一部分是位于窗體最上端的圖片。第二部分 是位于中間的主面板,用來提供各種標(biāo)簽和表單元素。第三部分是位于主面板下的按鈕面 板,用來提供添加和關(guān)閉兩個按鈕。具運行界面如圖 3.4所示。 圖3.4圖書信息添加界面 主面板是整個窗體最重要也是最核心的部分,其部分實現(xiàn)代碼如下: public BookAddIFrame() { super(); final BorderLayout borderLayout = new BorderLayout();〃倉建邊框布局管理器 getContentPane().setLayout(borderLayout); 〃設(shè)置布局 setIconifiable(true);//設(shè)置窗體可最小化 setClosable(true);//設(shè)置窗體可關(guān)閉 setTitle("圖書信息添加)//設(shè)置窗體標(biāo)題 setBounds(100, 100, 396, 260);//設(shè)置窗體位置和大小 final JPanel mainPanel = new JPanel(//創(chuàng)建中心面板 mainPanel.setBorder(new EmptyBorder(5, 10, 5, 10));般置邊框 final GridLayout gridLayout = new GridLayout(0, 4);// 創(chuàng)建表格布局管理器 gridLayout.setVgap(5);//設(shè)置組件之間垂直距離 gridLayout.setHgap(5);//設(shè)置組件之間平行距離 mainPanel.setLayout(gridLayout);/股置布局 getContentPane().add(mainPanel);將中心面板力口入至 U 窗體 final JLabel ISBNLabel = new JLabel(); //創(chuàng)建圖書編號標(biāo)簽 ISBNLabel.setText("圖書編號:");//設(shè)置標(biāo)簽文本 mainPanel.add(ISBNLabel);/傣力口至 ij 中心面板 ISBN = new JTextField(”請輸入13位書號”,13);//創(chuàng)建書號文本框 ISBN.setDocument(new MyDocument(13)); //設(shè)置書號文本框最大輸入值為 13 ISBN.setColumns(13);//設(shè)置文本框長度 ISBN.addKeyListener(new ISBNkeyListener());// 注冊監(jiān)聽器 ISBN.addFocusListener(new ISBNFocusListener());/姓冊監(jiān)聽器 mainPanel.add(ISBN); } 3.5.2 檢測書籍編號是否已存在 因為不可能存在重復(fù)的書籍編號。為了防止操作員的操作錯誤,所以需要提供一個書 籍編號監(jiān)測系統(tǒng)。如果該書籍號已存在,則不能進(jìn)行添加,否則可以進(jìn)行添加。 要檢測書籍編號是否存在,需要在 Dao類中添加一個方法,該方法用來接收輸入的書 籍編號,然后查詢該書籍編號對應(yīng)的書籍記錄,其主要方法如下: public static List selectBookInfo(String ISBN) {// 根據(jù)圖書編號查詢圖書 List list=new ArrayList();//保存所有查詢到的書籍信息 String sql = "select * from tb_bookInfo where ISBN='"+ISBN+"”'; ResultSet rs = Dao.executeQuery(sql);執(zhí)行查詢 ……/師入數(shù)據(jù),關(guān)閉連接 } 對書籍編號進(jìn)行檢測,一般是在操作員輸入完書籍編號,并準(zhǔn)備輸入其他信息時來完 成。這是需要新建一個ISBNFFocusListener監(jiān)聽類,該類繼承了 FocusAdoper類,并實現(xiàn) 其中的focusLost,其實現(xiàn)代碼如下: class ISBNFocusListener extends FocusAdapter { public void focusLost(FocusEvent e){ if(!Dao.selectBookInfo(ISBN.getText().trim()).isEmpty()){ JOptionPane.showMessageDialog(null,添加書號重復(fù)!"); return; } } } 3.5.3 圖書信息添加 要添加書籍信息,首先要在 Dao中添加一個Insertbook方法,通過該方法來接受用戶 輸入的所有書籍信息,然后執(zhí)行插入操作。其主要方法如下: public static int Insertbook(String ISBN,String typeId,String bookname, String writer,String translator,String publisher,Date date,Double price){ int i=0; try{ String sql="insert into tb_bookInfo(ISBN,typeId,bookname,writer,translator,"+ "publisher,date,price) values('"+ISBN+"','"+typeId+"','"+bookname+"',"+ "”'+writer+"','"+translator+"','"+publisher+"','"+date+"',"+price+")"; i=Dao.executeUpdate(sql);/楨行插入操作 } } 3.5.4 圖書修改信息 修改圖書信息同保存圖書信息非常類似, 首先在Dao中添加一個方法Updatebook。通 過該方法來接收圖書修改表單中提交的書籍信息。其代碼如下: public static int Updatebook(String ISBN,String typeId,String bookname, String writer,String translator,String publisher,Date date,Double price){ int i=0;〃更新記錄數(shù) try{ String sql="update tb_bookInfo set ISBN='"+ISBN+"', typeId='"+typeId+"',bookname='"+bookname+"', writer='"+writer+"', translator='"+translator+”', publisher="'+publisher+”', date='"+date+"', price="+price+" where ISBN='"+ISBN+"”'; i=Dao.executeUpdate(sql);例行更新 } } 修改圖書信息,是通過單擊修改按鈕執(zhí)行的,上面我們已經(jīng)為修改按鈕注冊 了一個監(jiān)聽器,其對應(yīng)的監(jiān)聽器類為 UpdateBookActionLinter。下面來實現(xiàn)該監(jiān)聽 器類,其實現(xiàn)代碼如下: class UpdateBookActionListener implements ActionListener { public void actionPerformed(final ActionEvent e) { int i=Dao.Updatebook(ISBNs, bookTypes, bookNames, writer translators,publishers,Date.valueOf(pubDates),Double.parseDouble(prices)); if(i==1){//如果返回更新記錄數(shù)為1,表示修改成功 JOptionPane.showMessageDialog(null,修改成功"); Object[][]results=getFileStates(Dao.selectBookInfo());//M 新獲得書籍信息 DefaultTableModel model=new DefaultTableModel();〃獲得表格模型 table.setModel(model);//設(shè)置表格模型 model.setDataVector(results, columnNames);改置模型數(shù)據(jù)和列名 } } } 3.6 讀者信息管理模塊 讀者信息管理模塊包含兩個子模塊,分別是讀者信息添加和讀者信息修改與刪除。其 中讀者信息添加模塊用來錄入新的讀者信息,讀者信息修改與刪除模塊用來修改和刪除已 有的讀者信息。其系統(tǒng)運行界面如圖 3.5所示。 圖3.5讀者信息管理模塊運行界面 3.6.1讀者信息添加 要添加讀者信息,首先要在 Dao中添加一個InsertReader方法,通過該方法來接受用 戶輸入的所有讀者信息,然后執(zhí)行插入操作。其主要方法如下: public static int InsertReader(String name,String sex,String age,String identityCard,Date date,String maxNum,String tel,Double keepMoney,String zj,String zy,Date bztime,String ISBN){ int i=0; try{String sql="insert into tb_reader(name,sex,age,identityCard,date,maxNum, tel,keepMoney,zj,zy,bztime,ISBN)values('"+name+"','"+sex+"','"+age+"','"+ identityCard+"','"+date+"','"+maxNum+"','"+tel+"',"+keepMoney+",'"+zj+"' ,'"+zy+"', '"+bztime+"','"+ISBN+"')"; System.out.println(sql); i=Dao.executeUpdate(sql);例行插入操作 } 3.6.2讀者信息修改與刪除 修改與刪除讀者信息同保存讀者信息非常類似,首先在 Dao中添加兩個方法 UpdateReader及DelReader。通過這兩個方法來接收圖讀者修改表單中提交的讀者信息。 其主要代碼如下: public static int UpdateReader(String id,String name,String sex,String age,String identityCard,Date date,String maxNum,String tel, Double keepMoney,String zj,String zy,Date bztime,String ISBN){ int i=0; try{String sql="update tb_reader set name='"+name+"',sex='"+sex+"', age='"+age+"',identityCard='"+identityCard+"', date='"+date+"',maxNum='"+maxNum+"', tel='"+tel+"',keepMoney="+keepMoney+", zj='"+zj+"',zy='"+zy+"', bztime='"+bztime+"'where ISBN='"+ISBN+"”'; i=Dao.executeUpdate(sql);// 執(zhí)行更新 }catch(Exception e){ e.printStackTrace(); } Dao.close();//關(guān)閉連接 public static int DelReader(String ISBN){ int i=0; try{ String sql="delete from tb_reader where ISBN='"+ISBN+"”'; //System.out.println(sql); i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close();//關(guān)閉連接 } 3.7 圖書訂購管理模塊 圖書訂購管理模塊包含兩個子模塊,分別是新書訂購和驗收新書。其中新書訂購模塊 用來錄入新的圖書信息,驗收新書模塊用來驗收新書信息。其系統(tǒng)運行界面如圖 3.6和圖 3.7所示。 圖3.6新書訂購管理界面 圖3.7圖書驗收界面 3.7.1 新書訂購管理 要添加新書訂購信息,首先要在Dao中添加一個InsertBookOrder方法,通過該方法來 接受用戶輸入的所有新書訂購信息,然后執(zhí)行插入操作。其主要方法如下: public static int InsertBookOrder(String ISBN,Date date,String number,String operator,String checkAndAccept,Double zk){ int i=0; try{String sql="insert into tb_order(ISBN,date,number,operator,checkAndAccept,zk) values('"+ISBN+"','"+date+"','"+number+"','"+operator+"',"+checkA ndAccept+",'"+zk+"')"; i=Dao.executeUpdate(sql);/枚行插入 } } 3.7.2 圖書驗收 添加完圖書訂購信息后,我們還要對圖書進(jìn)行驗收,首先要在 Dao中添加一個 SelectBookOrder方法,通過該方法來查找出所有錄入的新書訂購信息,再添加一個 UpdateCheckBookOrder方法,通過該方法來對圖書進(jìn)行驗收。其主要方法如下: public static List selectBookOrder(boolean b) { List list=new ArrayList(); String sql = "SELECT * FROM tb_order where ISBN='"+ISBN+皿; ResultSet rs = Dao.executeQuery(sql);執(zhí)行查詢 try { while (rs.next()) { Order order=new Order(); order.setISBN(rs.getString("ISBN")); order.setDate(rs.getDate("date")); order.setNumber(rs.getString("number")); order.setOperator(rs.getString("operator")); order.setZk("zk"); order.setCheckAndAccept("checkAndAccept"); list.add(order); } catch (Exception e) { e.printStackTrace(); Dao.close();//關(guān)閉連接 return list; public static int UpdateCheckBookOrder(String ISBN){ int i=0; try{ String sql="update tb_order set checkAndAccept=0 where ISBN='"+ISBN+"”'; i=Dao.executeUpdate(sql);例行更新 }catch(Exception e){ e.printStackTrace(); Dao.close();//關(guān)閉連接 return i; } 3.8 圖書借閱管理模塊 圖書借閱管理模塊包含三個子模塊,分別是新書借閱、圖書歸還和圖書搜索。其中圖 書借閱模塊用來錄入讀者信息及所借閱的圖書的信息,圖書歸還模塊用來顯示歸還讀者信 息及所借閱的圖書信息,圖書搜索模塊用來為讀者提供圖書搜索功能。其系統(tǒng)運行界面如 圖3.8、3.9和3.10所示。 圖3.8圖書借閱管理界面 圖3.9圖書會還管理界面 圖3.10圖書查詢界面 3.8.1 圖書借閱 當(dāng)讀者想要對某圖書進(jìn)行借閱操作時,圖書館管理員必須將讀者信息及所借閱的 圖書信息輸入到數(shù)據(jù)庫,此時,需要在 Dao中添加一個InsertBookBorrow方法,通過 該方法錄入讀者信息及所借閱的圖書信息。其主要方法如下: public static int InsertBookBorrow(String bookISBN,String readerISBN,String operatorId,Timestamp borrowDate,Timestamp backDate){ int i=0; try{String sql="insert into tb_borrow(bookISBN,readerISBN,operatorId, borrowDate,backDate)values C"+bo

注意事項

本文(JAVA+SQL圖書館管理系統(tǒng)課程設(shè)計)為本站會員(飛***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!