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

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

上傳人:飛*** 文檔編號(hào):253596442 上傳時(shí)間:2025-03-16 格式:DOCX 頁(yè)數(shù):44 大?。?.30MB
收藏 版權(quán)申訴 舉報(bào) 下載
JAVA+SQL圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
第1頁(yè) / 共44頁(yè)
JAVA+SQL圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)_第2頁(yè)
第2頁(yè) / 共44頁(yè)
JAVA+SQL圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)_第3頁(yè)
第3頁(yè) / 共44頁(yè)

下載文檔到電腦,查找使用更方便

12 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《JAVA+SQL圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《JAVA+SQL圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)(44頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、畢業(yè)設(shè)計(jì)(論文) 題目: 圖書(shū)館管理系統(tǒng) 姓 名 學(xué) 號(hào) 專(zhuān) 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 指導(dǎo)教師 2 目錄 摘要 IV 前言 V 第一章 圖書(shū)館管理系統(tǒng)分析 1 1.1 需求分析 1 1.2 功能分析 2 1.3 系統(tǒng)用例圖設(shè)計(jì) 2 1.4 繪制系統(tǒng)流程圖 3 1.5 系統(tǒng)的開(kāi)發(fā)環(huán)境 4 第二章數(shù)據(jù)庫(kù)分析與設(shè)計(jì) 5 2.1 數(shù)據(jù)庫(kù)分析 5 2.2 數(shù)據(jù)庫(kù)概念設(shè)計(jì) 5 2.3 數(shù)據(jù)邏輯結(jié)構(gòu)設(shè)計(jì) 7 2.4 各表之間的聯(lián)系圖 9 第三章系統(tǒng)設(shè)計(jì)與功能實(shí)現(xiàn) 10 3.1 數(shù)據(jù)庫(kù)Dao類(lèi)的構(gòu)建 10 3.2 系統(tǒng)登

2、錄模塊 11 3.3 主窗體模塊 13 3.4 圖書(shū)類(lèi)別管理模塊 15 3.5 圖書(shū)信息管理模塊 17 3.6 讀者信息管理模塊 21 3.7 圖書(shū)訂購(gòu)管理模塊 24 3.8 圖書(shū)借閱管理模塊 27 3.9 系統(tǒng)維護(hù)模塊 30 第四章系統(tǒng)測(cè)試 35 4.1 測(cè)試項(xiàng)目 35 4.2 測(cè)試用例 35 結(jié)束語(yǔ) 37 參考文獻(xiàn) 38 iii 圖書(shū)館管理系統(tǒng) 摘要 圖書(shū)館管理系統(tǒng)是采用Java做前臺(tái),后臺(tái)數(shù)據(jù)庫(kù)則采用的是 SQL Server 2005,本系 統(tǒng)提供6個(gè)功能模塊,分別是圖書(shū)類(lèi)別管理模塊、圖書(shū)信息管理模塊、讀者信息管理模塊、

3、 新書(shū)訂購(gòu)管理模塊、圖書(shū)借閱模塊,以及系統(tǒng)維護(hù)模塊。這 6個(gè)模塊里又有許多子模塊, 通過(guò)這些模塊之間的相互連接與配合,完成操作員發(fā)出的各種指令。 圖書(shū)館管理系統(tǒng)是一個(gè)供內(nèi)部人員使用的系統(tǒng)。而圖書(shū)館的工作人員也分為兩類(lèi),一 類(lèi)是操作人員,主要負(fù)責(zé)圖書(shū)的借閱和歸還的工作;一類(lèi)是管理員,除了操作人員的所有 功能外,還能夠?qū)?shū)籍列表、書(shū)籍信息、讀者信息等進(jìn)行管理。 論文將全面介紹所設(shè)計(jì)的圖書(shū)館管理系統(tǒng)的系統(tǒng)功能和業(yè)務(wù)流程,并對(duì)系統(tǒng)進(jìn)行詳細(xì) 的數(shù)據(jù)分析和設(shè)計(jì),最終使用Java完成系統(tǒng)開(kāi)發(fā)。 關(guān)鍵詞:圖書(shū)館管理系統(tǒng),SQL Server 2005, Java 5 刖百 隨著社會(huì)的發(fā)展,人

4、們對(duì)于知識(shí)的需求也在不斷地增長(zhǎng)。書(shū)籍作為人們獲取并增長(zhǎng)知 識(shí)的主要途徑,使得圖書(shū)館在人們生活中占有了一定位置。但是近幾年來(lái),隨著書(shū)量的不 斷增長(zhǎng),造成了書(shū)庫(kù)空間極度不足,圖書(shū)擠壓,管理不善。這些都直接影響了讀者對(duì)圖書(shū) 館藏書(shū)的充分利用。這時(shí)圖書(shū)館就特別需要開(kāi)發(fā)一套圖書(shū)館管理系統(tǒng),通過(guò)該系統(tǒng)來(lái)提高 圖書(shū)館的管理效率,從而減少管理方面的工作流和成本。 一個(gè)現(xiàn)代化的圖書(shū)館在正常運(yùn)營(yíng)中總是面對(duì)大量的讀者信息,書(shū)籍信息以及兩者相互 作用產(chǎn)生的借書(shū)信息,還書(shū)信息。面對(duì)圖書(shū)館數(shù)以萬(wàn)計(jì)的圖書(shū),紛繁復(fù)雜的讀者信息,頻 繁更替的借還書(shū)信息,傳統(tǒng)的直接方法不但管理出現(xiàn)漏洞, 造成損失。因此有一個(gè)智能化、 系統(tǒng)化、

5、信息化的圖書(shū)管理系統(tǒng)十分重要的。充分利用計(jì)算機(jī)的功能實(shí)現(xiàn)對(duì)讀者管理、書(shū) 籍管理,借閱管理等自動(dòng)化控制,將會(huì)使圖書(shū)館的工作大大減弱。方便友好的圖形界面、 簡(jiǎn)便的操作、完善的數(shù)據(jù)庫(kù)管理。將會(huì)使得圖書(shū)館系統(tǒng)極大限度的應(yīng)用于現(xiàn)代化圖書(shū)管理 中。 第一章圖書(shū)館管理系統(tǒng)分析 1.1 需求分析 圖書(shū)館管理系統(tǒng)是一個(gè)高度集成的圖書(shū)信息處理系統(tǒng),通過(guò)將圖書(shū)館的各種功能進(jìn)行 整合,從而達(dá)到顯示檢索信息,提高工作效率,降低管理成本等目的。一個(gè)典型的圖書(shū)館 管理系統(tǒng)應(yīng)該能夠管理所有的圖書(shū)種類(lèi),圖書(shū)信息以及讀者信息,還需要提供各種圖書(shū)信 息的檢索查詢(xún)功能。該系統(tǒng)還需要能夠?qū)D書(shū)的借閱,歸還進(jìn)行管理,并對(duì)讀者的罰款

6、進(jìn) 行自動(dòng)計(jì)算。通過(guò)該系統(tǒng)的自動(dòng)化管理,能夠大大減少圖書(shū)館管理人員,還能減少管理人 員的工作任務(wù),從而降低管理開(kāi)銷(xiāo)和成本。 一個(gè)完整的圖書(shū)館管理系統(tǒng)包括前臺(tái)和后臺(tái),前臺(tái)主要是顯示在計(jì)算機(jī)屏幕上的顯示 界面,有各種指令按鈕,操作框以及文本框,后臺(tái)主要是為前臺(tái)的一些操作提供一些必要 的數(shù)據(jù),也就是一個(gè)相對(duì)于系統(tǒng)比較完整的數(shù)據(jù)庫(kù),操作員以及各類(lèi)圖書(shū)的信息,借書(shū)者 的信息等等。 一個(gè)最基本的圖書(shū)館管理系統(tǒng)要有如下幾個(gè)重要功能: (1)用戶(hù)在借書(shū)超期的情況下得到來(lái)自管理員的提醒。 (2)管理員可以方便進(jìn)行圖書(shū)管理,用戶(hù)管理,管理員管理。圖書(shū)管理包括圖書(shū)信 息以及圖書(shū)分類(lèi)的添加,修改,刪除。用戶(hù)管

7、理包括用戶(hù)信息的添加,刪除,修改。管理 員管理包括管理員信息的添加,刪除,修改等。 (3)用戶(hù)和管理員可以修改自己的密碼,修改前需先核實(shí)自己的原始密碼。 (4)未注冊(cè)用戶(hù)(游客)也可以瀏覽所有的圖書(shū)信息和分類(lèi)信息,但是無(wú)法借閱。 (5)實(shí)現(xiàn)模糊查詢(xún),使用戶(hù)得到更多的相關(guān)記錄。并且考慮使用的方便性,一些經(jīng) 常使用的輸入無(wú)須用戶(hù)輸入,比如進(jìn)行圖書(shū)查詢(xún)時(shí)圖書(shū)分類(lèi)只須用戶(hù)做選擇就可以。 (6)考慮程序執(zhí)行操作時(shí)可能出現(xiàn)的情況,比如刪除圖書(shū)分類(lèi)時(shí)該分類(lèi)下存在圖書(shū), 程序自動(dòng)跳轉(zhuǎn)該分類(lèi)圖書(shū)查看。刪除某個(gè)用戶(hù),如果存在借書(shū)記錄則不允許刪除,跳轉(zhuǎn)到 該用戶(hù)的借書(shū)記錄。等待管理員確認(rèn)該用戶(hù)所借圖書(shū)已經(jīng)全

8、部歸還之后才允許刪除該用戶(hù) 信息。 一個(gè)圖書(shū)館管理系統(tǒng)要是能實(shí)現(xiàn)以上的各種功能,那么這個(gè)圖書(shū)館管理系統(tǒng)也就算是 比較成功的一個(gè)系統(tǒng)了。 1.2 功能分析 根據(jù)以上需求分析,我所設(shè)計(jì)的圖書(shū)館管理系統(tǒng)有 6個(gè)功能模塊,分別是圖書(shū)類(lèi)別管 理模塊,圖書(shū)信息管理模塊,讀者信息管理模塊,新書(shū)訂購(gòu)管理模塊,圖書(shū)借閱模塊以及 系統(tǒng)維護(hù)模塊。其中各功能模塊的具體說(shuō)明如下: 圖書(shū)類(lèi)別管理模塊:該模塊主要負(fù)責(zé)管理圖書(shū)館的圖書(shū)種類(lèi)信息, 如圖書(shū)種類(lèi)的名稱(chēng)、 可借天數(shù)、罰款數(shù)目等信息。 圖書(shū)信息管理模塊:該模塊主要負(fù)責(zé)管理圖書(shū)館的圖書(shū)信息,如圖書(shū)編號(hào)、圖書(shū)名稱(chēng)、 作者、出版社等信息。 讀者信息管理模塊:該模

9、塊主要負(fù)責(zé)管理圖書(shū)館的讀者信息,如讀者編號(hào)、讀者信息、 證件號(hào)碼、最大借書(shū)量等信息。 圖書(shū)訂購(gòu)管理模塊:該模塊主要負(fù)責(zé)管理圖書(shū)館的新書(shū)訂購(gòu)信息、包括新書(shū)訂購(gòu)和驗(yàn) 收新書(shū)兩個(gè)子模塊。 圖書(shū)借閱管理模塊:該模塊主要負(fù)責(zé)圖書(shū)館的書(shū)籍借閱和歸還信息,包括圖書(shū)借閱、 圖書(shū)歸還、圖書(shū)搜索3個(gè)子模塊。 系統(tǒng)維護(hù)模塊:該模塊主要負(fù)責(zé)圖書(shū)館的工作人員信息,包括用戶(hù)管理和更改系統(tǒng)口 令兩個(gè)子模塊。 1.3 系統(tǒng)用例圖設(shè)計(jì) 圖書(shū)館管理系統(tǒng)是一個(gè)內(nèi)部人員使用的系統(tǒng),也就是說(shuō)不是所有的人都能夠使用它, 只有圖書(shū)館的工作人員才能使用。而圖書(shū)館的工作人員也分為兩類(lèi),一類(lèi)是操作人員,主 要負(fù)責(zé)圖書(shū)的借閱和歸還的工作

10、;一類(lèi)是管理員,除了操作人員的所有功能外,還能夠?qū)?書(shū)籍列表,書(shū)籍信息,讀者信息等進(jìn)行管理。下面以管理員為例繪制其所對(duì)應(yīng)的用例圖如 圖1.1所示。 1.4 繪制系統(tǒng)流程圖 本系統(tǒng)首先需要對(duì)用戶(hù)的身份進(jìn)行識(shí)別,只有合法的用戶(hù)才能進(jìn)入系統(tǒng),否則將無(wú)法 進(jìn)入系統(tǒng)。進(jìn)入系統(tǒng)后,首先打開(kāi)系統(tǒng)主窗體,在系統(tǒng)首頁(yè)的菜單欄或者功能區(qū)可以選擇 各種導(dǎo)航鏈接來(lái)進(jìn)行各種操作。由于不同權(quán)限的用戶(hù)對(duì)于系統(tǒng)有不同的功能,下面以功能 最多的管理員為例,其系統(tǒng)流程圖如圖 1.2所示。 圖1.2系統(tǒng)流程圖 圖書(shū)類(lèi)別管理 系統(tǒng)維護(hù) 用戶(hù) 管理 者息加 讀信添 書(shū)息改 圖信修 書(shū)息加 圖信添

11、 書(shū)別改 圖類(lèi)修 書(shū)別加 圖類(lèi)添 1.5 系統(tǒng)的開(kāi)發(fā)環(huán)境 圖書(shū)館管理系統(tǒng)的具體開(kāi)發(fā)環(huán)境要求如下: (1)系統(tǒng)開(kāi)發(fā)平臺(tái):Eclipse 34 (2)數(shù)據(jù)庫(kù)管理系統(tǒng)軟件:SQL Server 200s (3)運(yùn)行平臺(tái):Windows 7。 (4) Java開(kāi)發(fā)包:JDK 5.0以上。 (5)分辨率:800>600以上。 (6) GUI 開(kāi)發(fā)包:Swing。 16 第二章數(shù)據(jù)庫(kù)分析與設(shè)計(jì) 6.1 數(shù)據(jù)庫(kù)分析 在開(kāi)發(fā)圖書(shū)館管理系統(tǒng)時(shí),考慮到圖書(shū)量大,數(shù)據(jù)庫(kù)維護(hù)大的特點(diǎn),選用 SQL Server 2005作為數(shù)據(jù)庫(kù)管理系統(tǒng)。在 SQL Server 2005中新增一

12、個(gè)數(shù)據(jù)庫(kù),其數(shù)據(jù)庫(kù)名為 db_library。數(shù)據(jù)庫(kù)中可以包含圖書(shū)信息、圖書(shū)類(lèi)別信息、圖書(shū)借閱信息、操作員信息、圖 書(shū)訂購(gòu)信息及讀者信息等實(shí)體,用來(lái)存儲(chǔ)不同的信息。 6.2 數(shù)據(jù)庫(kù)概念設(shè)計(jì) 本系統(tǒng)一共設(shè)計(jì)規(guī)劃出6個(gè)實(shí)體,分別是圖書(shū)類(lèi)別信息實(shí)體、圖書(shū)信息實(shí)體、讀者信 息實(shí)體、操作員實(shí)體、圖書(shū)借閱信息實(shí)體以及圖書(shū)訂購(gòu)信息實(shí)體。 圖書(shū)的類(lèi)別有很多,因此可以建立一個(gè)圖書(shū)館類(lèi)別信息表,專(zhuān)門(mén)用來(lái)保存圖書(shū)的類(lèi)別 信息。同時(shí)因?yàn)槊糠N類(lèi)別的書(shū)籍閱讀時(shí)間有所不同,所以需要在類(lèi)別表中保存該類(lèi)別可借 天數(shù)信息。圖書(shū)類(lèi)別信息實(shí)體 E-R圖如圖2.1所示。 圖2.1圖書(shū)類(lèi)別信息實(shí)體 E-R圖 對(duì)于圖書(shū)館

13、來(lái)說(shuō)最重要的就是要管理其下的書(shū)籍,所以需要建立一個(gè)圖書(shū)信息表,用 來(lái)保存圖書(shū)的所有信息。圖書(shū)信息實(shí)體 E-R圖如圖2.2所示 圖2.2圖書(shū)信息實(shí)體 E-R圖 要想在圖書(shū)館借書(shū)首先需要進(jìn)行登記并交付押金。領(lǐng)取讀書(shū)卡才能借書(shū)。所以需要建 立一個(gè)讀者信息表來(lái)保存圖書(shū)館的所有讀者的登記信息。讀者信息實(shí)體 E-R圖如圖2.3所 示。 圖書(shū)館里一般有一個(gè)以上的系統(tǒng)操作員,需要建立一個(gè)操作員信息表,用來(lái)保存操作 員的身份信息。操作員信息實(shí)體 E-R圖如圖2.4所示。 圖書(shū)館最大的功能就是能夠借書(shū),這時(shí)需要建立一個(gè)圖書(shū)借閱信息表,用來(lái)保存讀者 的借書(shū)信息。圖書(shū)的借閱信息實(shí)

14、體 E-R圖如圖2.5所示。 圖書(shū)館除了借書(shū),還需要到出版社或其他代理商訂購(gòu)新書(shū),這是需要建立一個(gè)圖書(shū)訂 購(gòu)信息表,用來(lái)保存所有的訂購(gòu)信息。圖書(shū)訂購(gòu)信息實(shí)體 E-R圖如圖2.6所示。 圖2.6圖書(shū)訂購(gòu)信息實(shí)體 E-R圖 6.3 數(shù)據(jù)邏輯結(jié)構(gòu)設(shè)計(jì) 根據(jù)設(shè)計(jì)好的各實(shí)體E-R圖創(chuàng)建數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),數(shù)據(jù)庫(kù)各表的結(jié)構(gòu)如下: (1)圖書(shū)類(lèi)別信息采表用來(lái)儲(chǔ)存所有的圖書(shū)類(lèi)別信息,包括圖書(shū)類(lèi)別編號(hào)、圖書(shū)類(lèi)別名 稱(chēng)、可借天數(shù)以及遲還一天的罰款數(shù)目 4個(gè)字段。該表的邏輯結(jié)構(gòu)如表 2.1所示。 表2.1圖書(shū)類(lèi)別信息表 id 整數(shù)(int) 是 圖書(shū)類(lèi)別編號(hào) ty

15、peName ( varchar) 否 圖書(shū)類(lèi)別名稱(chēng) days 整數(shù)(int) 否 可借天數(shù) fk 遲還一天的罰款數(shù)目 (2)圖書(shū)信息表用來(lái)儲(chǔ)存所有的圖書(shū)信息,包括圖書(shū)編號(hào)、類(lèi)別編號(hào)、圖書(shū)名稱(chēng)、作者、 譯者、出版社、出版日期以及書(shū)籍價(jià)格 8個(gè)字段。該表的邏輯結(jié)構(gòu)如表 2.2所示。 表2.2圖書(shū)信息表 ISBN 文本(varchar) 是 圖書(shū)編號(hào) typeId 整數(shù)(int) 否(外鍵) 類(lèi)別編號(hào) bookname ( varchar) 否 圖書(shū)名稱(chēng) writer ( varchar) 否 作者 transla

16、tor ( varchar) 否 譯者 publisher ( varchar) 否 出版社 date 日期時(shí)間(datetime) 否 出版日期 price money 書(shū)籍價(jià)格 (3)讀者信息表用來(lái)儲(chǔ)存所有的讀者信息,包括讀者姓名、性別、年齡、證件號(hào)碼、會(huì) 員證有效日期、最大借書(shū)量、電話號(hào)碼、押金、證件類(lèi)型、職業(yè)、讀者編號(hào)以及辦證日期 12個(gè)字段。該表的邏輯結(jié)構(gòu)如表 2.3所示 表2.3讀者信息表 鍵 name 文本(varchar) 是 讀者姓名 sex ( varchar) 否(外鍵) 讀者性別 a

17、ge 整數(shù)(int) 否 讀者年齡 identityCard ( varchar) 否 證件號(hào)碼 date 日期時(shí)間(datetime) 否 會(huì)員證有效日期 maxNum 整數(shù)(int) 否 取大怎書(shū)里 tel ( varchar) 否 電話號(hào)碼 keepMoney 金錢(qián)貨幣(money) 否 押金 zj 整數(shù)(int) 否 證件類(lèi)型 zy ( varchar) 否 職業(yè) ISBN ( varchar) 是 讀名編p bztime datetime 否 辦證日期 (4) 操作員

18、信息表用來(lái)保存操作員信息, 包括操作員編號(hào)、用戶(hù)名、 性別、年齡、證件 號(hào)碼、 工作時(shí)間、 電話號(hào)碼、是否為管理員 、密碼 9個(gè)字段。該表的邏輯結(jié)構(gòu)如表 2.4 示。 表2.4操作員信息表 字段名 鍵 描述 id 整數(shù)(int) 是(自動(dòng)遞增) 操作員編號(hào) name ( varchar) 否 用戶(hù)名 sex ( varchar) 否 性別 age 整數(shù)(int) 否 年齡 identityCard ( varchar) 否 證件號(hào)碼 workdate 日期時(shí)間(date

19、time) 否 工作時(shí)間 tel ( varchar) 否 電話號(hào)碼 admin 整數(shù)(int) 否 是否為管理員 password varchar) 否 密碼 (5) 圖書(shū)借閱信息表用來(lái)保存所有圖書(shū)的借閱信息,包括借閱編號(hào)、 書(shū)籍編號(hào)、操作員 編號(hào)、 讀后編》、. 是夠歸還、借書(shū)日期以及應(yīng)還日期 7字段。該表的邏輯結(jié)構(gòu)如表 2.5 示。 表2.5 圖書(shū)借閱信息表 字段名 數(shù)據(jù)類(lèi)型 是否主鍵 描述 id 整數(shù)(int) 是(自動(dòng)遞增) 借閱編號(hào) bookISBN ( varchar) 否(外鍵)

20、 書(shū)籍編號(hào) operatorId 整數(shù)(int) 否(外鍵) 操作員編號(hào) readerISBN varchar 讀后編R isback int borrowDate 日期時(shí)間(datetime) 否 借書(shū)日期 backdate datetime 應(yīng)還日期 (6)圖書(shū)訂購(gòu)信息表用來(lái)保存圖書(shū)館的所有訂購(gòu)信息,包括書(shū)籍編號(hào)、訂購(gòu)日期、訂購(gòu) 數(shù)量、操作員、是否驗(yàn)收以及書(shū)籍折扣 6個(gè)字段。該表的邏輯結(jié)構(gòu)如表2.6所示。 表2.6圖書(shū)訂購(gòu)信息表 ISBn ( varchar) 是 書(shū)籍編號(hào) date 日

21、期時(shí)間(datetime) 否 訂購(gòu)日期 number 整數(shù)(int) 否 訂購(gòu)數(shù)量 operator ( varchar) 否 操作員 checkAndAccep t 整數(shù)(int) 否 是否驗(yàn)收 zk 浮點(diǎn) 否 書(shū)籍折扣 6.4 各表之間的聯(lián)系圖 各表間的聯(lián)系圖如圖2.7所示 固 tb_borrow 卜頌有現(xiàn) id booklSCN operaiorld neaderTSBN 國(guó) tb_operator 士廝有列D name 4 age 國(guó)tb_booklnfo 園 thqnd.r ,d date rxirrib

22、er operator dieckAndAccept jJ 啕f育列) ISBN typeld bookname witer 圖2.7各表間聯(lián)系圖 國(guó) tb bookType .唯族5現(xiàn) typeName days ft 第三章系統(tǒng)設(shè)計(jì)與功能實(shí)現(xiàn) 3.1數(shù)據(jù)庫(kù)Dao類(lèi)的構(gòu)建 首先定義了一個(gè)類(lèi)Dao,并為該類(lèi)添加了 4中方法,分別是構(gòu)造方法 Dao、查詢(xún)方法 executeQuery更新方法executeUpdate以及關(guān)閉連接方法 close。 public class Dao {

23、 protected static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)類(lèi) protected static String dbUrl = "jdbc:sqlserver://localhost:1433; + "DatabaseName=db_library;";//數(shù)據(jù)庫(kù)連接 URL protected static String dbUser = "sa"; protected static String dbPwd = "123"; private sta

24、tic Connection conn = null; //數(shù)據(jù)庫(kù)用戶(hù)名 //數(shù)據(jù)庫(kù)密碼 //數(shù)據(jù)庫(kù)連接對(duì)象 private static String ISBN; private Dao() { //構(gòu)造方法 try { if (conn == null) { //如果連接對(duì)象為空 Class.forName(dbClassName); //加載驅(qū)動(dòng)類(lèi) conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);〃獲得連接對(duì) } } catch (Exception ee) { ee.printStackTra

25、ce(); } } private static ResultSet executeQuery(String sql) { 〃查詢(xún)方法 try { if(conn==null) new Dao(); //如果連接對(duì)象為空,則重新調(diào)用構(gòu)造方法 return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE).executeQuery(sql);/腴行查詢(xún)

26、 } catch (SQLException e) { e.printStackTrace(); return null; //返回 null 值 } finally { } } private static int executeUpdate(String sql) { //更新方法 try { if(conn==null) new Dao(); //如果連接對(duì)象為空,則重新調(diào)用構(gòu)造方法 return conn.createStatemen

27、t().executeUpdate(sql)蜿行更新 } catch (SQLException e) { e.printStackTrace(); return -1; } finally { } } public static void close() {//關(guān)閉方法 try { conn.close();//關(guān)閉連接對(duì)象 } catch (SQLException e) { e.printStackTrace(); }finally{ conn = null; //設(shè)置連接對(duì)象為null值 } } 3.2系統(tǒng)登錄模塊 3.1 對(duì)于圖書(shū)館管理系統(tǒng)而言,不

28、是所有的用戶(hù)都是可以使用的,所有需要添加一個(gè)登陸 模塊。通過(guò)該模塊來(lái)對(duì)用戶(hù)的合法性進(jìn)行判斷,只有合法的用戶(hù)才能進(jìn)入到系統(tǒng)。整個(gè)登 陸模塊的實(shí)現(xiàn)非常簡(jiǎn)單,相信讀者能夠快速掌握其開(kāi)發(fā)過(guò)程。登錄模塊的運(yùn)行結(jié)果如圖 所示。 圖3.1系統(tǒng)登錄界面 3.2.1 登陸窗體界面設(shè)計(jì)與實(shí)現(xiàn) 登陸窗體的界面設(shè)計(jì)我依然采用的是比較傳統(tǒng)的方法,新建一個(gè)類(lèi) BookLoginFrame 類(lèi),用來(lái)顯示登錄窗體。在該窗體中需要使用到四類(lèi)控件,分別是 JLabel、JTextFieid、 JPasswordField以及JButton。其中控件JLabel是用來(lái)顯示頂部的圖片以及標(biāo)簽文本;控件 JTextFie

29、id用來(lái)接收用戶(hù)名輸入信息;控件 JPasswordField用來(lái)接收密碼輸入信息;控件 JButton用來(lái)創(chuàng)建登陸和重置按鈕。 3.2.2 操作員登陸 在Dao類(lèi)中新增一個(gè)方法check,通過(guò)該方法來(lái)檢測(cè)用戶(hù)信息是否合法。該方法接收 兩個(gè)參數(shù),分別是操作員用戶(hù)名 name,操作員密碼passsward主要方法如下: public static Operater check(String name, String password) { Operater operater=new Operater();操作員信息對(duì)象 String sql = "select * from tb_op

30、erator 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("

31、password")); 3.3 主窗體模塊 圖書(shū)館管理系統(tǒng)的主窗體模式是由三個(gè)部分組成的。第一部分是位于主窗體上組上端 的系統(tǒng)菜單欄,用來(lái)實(shí)現(xiàn)鏈接系統(tǒng)功能菜單。第二部分位于菜單欄下面的工具欄,用來(lái)提 供各種常用功能鏈接。第三部分位于工具下的系統(tǒng)功能窗口區(qū)域,主要用來(lái)顯示各種功能 窗口。 3.3.1 主窗體界面設(shè)計(jì) 在主窗體中可以顯示其他功能窗體,所以需要在該窗體中加入一個(gè)桌面窗體。通過(guò)將 其他功能窗體加入到該窗體中。從而實(shí)現(xiàn)多窗體顯。同時(shí)在主窗口體中,還需要添加一個(gè) main方法,該方法為系統(tǒng)入口的方法,通過(guò)執(zhí)行該方法來(lái)執(zhí)行系統(tǒng)。其主要代碼如下: public class Libr

32、ary 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()

33、; } } public static void addIFame(JInternalFrame iframe) { // 添力口子窗體的方法 DESKTOP_PANE.add(iframe); //新增子窗體 } } 下面再來(lái)配置主窗體的其他屬性,首先需要設(shè)置其大小和位置,然后還要設(shè)置其菜單 欄和工具欄,最后需要在桌面窗體中添加一個(gè)背景圖片。其代碼實(shí)現(xiàn)如下。 public Library。{ super(); setDefaultCloseOperation( //獲得默認(rèn)的工具箱 //獲得屏幕的大小 //設(shè)置窗體大小 WindowConstants.EXIT_ON

34、_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("圖書(shū)館管理系統(tǒng)"); //設(shè)置窗體標(biāo)題 JMenuBar menuBar = createMenu(); 〃

35、調(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)建一個(gè)標(biāo)簽,用來(lái)顯示圖片 label.setBounds(0, 0, 0, 0); //設(shè)置窗體的大小和位置 label.setIcon(null); // 窗體背景 DESKTOP_PANE.addComponentL

36、istener(new ComponentAdapter() { public void componentResized(final ComponentEvent e) { Dimension size = e.getComponent().getSize();康得組件大/」、 label.setSize(e.getComponent().getSize());改置標(biāo)簽大小 label.setText("37、tResource("/backImg.jpg") + "'>");//設(shè)置標(biāo)簽文本 } }; DESKTOP_PANE.add(label,new Integer(Integer.MIN_\ALUE));// 將標(biāo)簽添加到桌面 窗體 getContentPane().add(DESKTOP_PANE);//1桌面窗體添力口至 U 主窗體中 } 3.3.2 主窗體菜單欄設(shè)計(jì) 在Library類(lèi)中定義一個(gè)createMenu方法,在該方法中實(shí)現(xiàn)菜單欄的設(shè)計(jì)。具運(yùn)行界 面如圖3.2所示。 圖書(shū)措I身 一互毛TZ空屋花 匐節(jié)布管理 圖3.2主窗體界面

38、 3.4 圖書(shū)類(lèi)別管理模塊 圖書(shū)類(lèi)別管理模塊包含兩個(gè)子模塊,分別是圖書(shū)類(lèi)別添加和圖書(shū)類(lèi)別修改。其中圖書(shū) 類(lèi)別添加模塊用來(lái)錄入新的圖書(shū)類(lèi)別信息,圖書(shū)列別修改模塊用來(lái)修改已有的圖書(shū)列別信 息。系統(tǒng)界面如圖3.3所示。 17 圖3.3圖書(shū)類(lèi)別修改界面 3.4.1圖書(shū)類(lèi)別添加模塊 要添加圖書(shū)類(lèi)別信息,首先要在 Dao中添加一個(gè)InsertbookType方法,通過(guò)該方法來(lái) 接受用戶(hù)輸入的所有書(shū)籍類(lèi)別信息,然后執(zhí)行插入操作。其主要方法如下: public static int InsertBookType(String bookTypeName,String days,

39、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圖書(shū)類(lèi)別修改模塊 修改圖書(shū)類(lèi)別信息同保存圖書(shū)類(lèi)別信息非常類(lèi)似,首先在 Dao中添加一個(gè)方法 UpdatebookTypa通過(guò)該方法來(lái)接收?qǐng)D書(shū)修改表單中提交的書(shū)籍類(lèi)別信息。其代碼如下: public static int UpdatebookT

40、ype(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);例行更新操作 } } 修改圖書(shū)類(lèi)別信息,是通過(guò)單擊修改按鈕執(zhí)行的,上面我們已經(jīng)為修改按鈕注冊(cè)了一 個(gè)監(jiān)聽(tīng)器,其對(duì)應(yīng)的監(jiān)聽(tīng)器類(lèi)為 Bu

41、ttonActionLinter。下面來(lái)實(shí)現(xiàn)該監(jiān)聽(tīng)器類(lèi),其實(shí)現(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.get

42、Text().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 圖書(shū)信息管理模塊 圖書(shū)信息管理模塊包含兩個(gè)子模塊,分別是圖書(shū)信息添加和圖書(shū)信息修改。其中圖書(shū) 信

43、息添加模塊用來(lái)錄入新的圖書(shū)信息,圖書(shū)信息修改模塊用來(lái)修改已有的圖書(shū)信息。 3.5.1 圖書(shū)信息添加界面設(shè)計(jì) 圖書(shū)信息添加窗體一共包含三個(gè)部分,第一部分是位于窗體最上端的圖片。第二部分 是位于中間的主面板,用來(lái)提供各種標(biāo)簽和表單元素。第三部分是位于主面板下的按鈕面 板,用來(lái)提供添加和關(guān)閉兩個(gè)按鈕。具運(yùn)行界面如圖 3.4所示。 圖3.4圖書(shū)信息添加界面 主面板是整個(gè)窗體最重要也是最核心的部分,其部分實(shí)現(xiàn)代碼如下: public BookAddIFrame() { super(); final BorderLayout borderLayout = new BorderLa

44、yout();〃倉(cāng)建邊框布局管理器 getContentPane().setLayout(borderLayout); 〃設(shè)置布局 setIconifiable(true);//設(shè)置窗體可最小化 setClosable(true);//設(shè)置窗體可關(guān)閉 setTitle("圖書(shū)信息添加)//設(shè)置窗體標(biāo)題 setBounds(100, 100, 396, 260);//設(shè)置窗體位置和大小 final JPanel mainPanel = new JPanel(//創(chuàng)建中心面板 mainPanel.setBorder(new EmptyBorder(5, 10, 5, 10));般置邊框

45、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)建圖書(shū)編號(hào)標(biāo)簽 ISBNLabel.setText("圖書(shū)編號(hào):")

46、;//設(shè)置標(biāo)簽文本 mainPanel.add(ISBNLabel);/傣力口至 ij 中心面板 ISBN = new JTextField(”請(qǐng)輸入13位書(shū)號(hào)”,13);//創(chuàng)建書(shū)號(hào)文本框 ISBN.setDocument(new MyDocument(13)); //設(shè)置書(shū)號(hào)文本框最大輸入值為 13 ISBN.setColumns(13);//設(shè)置文本框長(zhǎng)度 ISBN.addKeyListener(new ISBNkeyListener());// 注冊(cè)監(jiān)聽(tīng)器 ISBN.addFocusListener(new ISBNFocusListener());/姓冊(cè)監(jiān)聽(tīng)器 main

47、Panel.add(ISBN); } 3.5.2 檢測(cè)書(shū)籍編號(hào)是否已存在 因?yàn)椴豢赡艽嬖谥貜?fù)的書(shū)籍編號(hào)。為了防止操作員的操作錯(cuò)誤,所以需要提供一個(gè)書(shū) 籍編號(hào)監(jiān)測(cè)系統(tǒng)。如果該書(shū)籍號(hào)已存在,則不能進(jìn)行添加,否則可以進(jìn)行添加。 要檢測(cè)書(shū)籍編號(hào)是否存在,需要在 Dao類(lèi)中添加一個(gè)方法,該方法用來(lái)接收輸入的書(shū) 籍編號(hào),然后查詢(xún)?cè)摃?shū)籍編號(hào)對(duì)應(yīng)的書(shū)籍記錄,其主要方法如下: public static List selectBookInfo(String ISBN) {// 根據(jù)圖書(shū)編號(hào)查詢(xún)圖書(shū) List list=new ArrayList();//保存所有查詢(xún)到的書(shū)籍信息 String s

48、ql = "select * from tb_bookInfo where ISBN='"+ISBN+"”'; ResultSet rs = Dao.executeQuery(sql);執(zhí)行查詢(xún) ……/師入數(shù)據(jù),關(guān)閉連接 } 對(duì)書(shū)籍編號(hào)進(jìn)行檢測(cè),一般是在操作員輸入完書(shū)籍編號(hào),并準(zhǔn)備輸入其他信息時(shí)來(lái)完 成。這是需要新建一個(gè)ISBNFFocusListener監(jiān)聽(tīng)類(lèi),該類(lèi)繼承了 FocusAdoper類(lèi),并實(shí)現(xiàn) 其中的focusLost,其實(shí)現(xiàn)代碼如下: class ISBNFocusListener extends FocusAdapter { public void focusLo

49、st(FocusEvent e){ if(!Dao.selectBookInfo(ISBN.getText().trim()).isEmpty()){ JOptionPane.showMessageDialog(null,添加書(shū)號(hào)重復(fù)!"); return; } } } 3.5.3 圖書(shū)信息添加 要添加書(shū)籍信息,首先要在 Dao中添加一個(gè)Insertbook方法,通過(guò)該方法來(lái)接受用戶(hù) 輸入的所有書(shū)籍信息,然后執(zhí)行插入操作。其主要方法如下: public static int Insertbook(String ISBN,String typeId,String bookname

50、, 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

51、+"',"+price+")"; i=Dao.executeUpdate(sql);/楨行插入操作 } } 3.5.4 圖書(shū)修改信息 修改圖書(shū)信息同保存圖書(shū)信息非常類(lèi)似, 首先在Dao中添加一個(gè)方法Updatebook。通 過(guò)該方法來(lái)接收?qǐng)D書(shū)修改表單中提交的書(shū)籍信息。其代碼如下: public static int Updatebook(String ISBN,String typeId,String bookname, String writer,String translator,String publisher,Date date,Double price){ int i

52、=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);例行更新 } } 修改圖書(shū)信息,是通過(guò)

53、單擊修改按鈕執(zhí)行的,上面我們已經(jīng)為修改按鈕注冊(cè) 了一個(gè)監(jiān)聽(tīng)器,其對(duì)應(yīng)的監(jiān)聽(tīng)器類(lèi)為 UpdateBookActionLinter。下面來(lái)實(shí)現(xiàn)該監(jiān)聽(tīng) 器類(lèi),其實(shí)現(xiàn)代碼如下: class UpdateBookActionListener implements ActionListener { public void actionPerformed(final ActionEvent e) { int i=Dao.Updatebook(ISBNs, bookTypes, bookNames, writer translators,publishers,Date.valueOf(pubDate

54、s),Double.parseDouble(prices)); if(i==1){//如果返回更新記錄數(shù)為1,表示修改成功 JOptionPane.showMessageDialog(null,修改成功"); Object[][]results=getFileStates(Dao.selectBookInfo());//M 新獲得書(shū)籍信息 DefaultTableModel model=new DefaultTableModel();〃獲得表格模型 table.setModel(model);//設(shè)置表格模型 model.setDataVector(results, columnNam

55、es);改置模型數(shù)據(jù)和列名 } } } 3.6 讀者信息管理模塊 讀者信息管理模塊包含兩個(gè)子模塊,分別是讀者信息添加和讀者信息修改與刪除。其 中讀者信息添加模塊用來(lái)錄入新的讀者信息,讀者信息修改與刪除模塊用來(lái)修改和刪除已 有的讀者信息。其系統(tǒng)運(yùn)行界面如圖 3.5所示。 圖3.5讀者信息管理模塊運(yùn)行界面 3.6.1讀者信息添加 要添加讀者信息,首先要在 Dao中添加一個(gè)InsertReader方法,通過(guò)該方法來(lái)接受用 戶(hù)輸入的所有讀者信息,然后執(zhí)行插入操作。其主要方法如下: public static int InsertReader(String name,Strin

56、g 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+"','"+ ide

57、ntityCard+"','"+date+"','"+maxNum+"','"+tel+"',"+keepMoney+",'"+zj+"' ,'"+zy+"', '"+bztime+"','"+ISBN+"')"; System.out.println(sql); i=Dao.executeUpdate(sql);例行插入操作 } 3.6.2讀者信息修改與刪除 修改與刪除讀者信息同保存讀者信息非常類(lèi)似,首先在 Dao中添加兩個(gè)方法 UpdateReader及DelReader。通過(guò)這兩個(gè)方法來(lái)接收?qǐng)D讀者修改表單中提交的讀者信息。 其主要代碼如下: public stat

58、ic 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='"+identi

59、tyCard+"', 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){

60、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 圖書(shū)訂購(gòu)管理模塊 圖書(shū)訂購(gòu)管理模塊包含兩個(gè)子模塊,分別是新書(shū)訂購(gòu)和驗(yàn)收新書(shū)。其中新書(shū)訂購(gòu)模塊 用來(lái)錄入新的圖書(shū)信息,驗(yàn)收新書(shū)模塊用來(lái)驗(yàn)收新書(shū)信息。其系統(tǒng)運(yùn)行界面如圖 3.6和圖 3.7所示。

61、 圖3.6新書(shū)訂購(gòu)管理界面 圖3.7圖書(shū)驗(yàn)收界面 3.7.1 新書(shū)訂購(gòu)管理 要添加新書(shū)訂購(gòu)信息,首先要在Dao中添加一個(gè)InsertBookOrder方法,通過(guò)該方法來(lái) 接受用戶(hù)輸入的所有新書(shū)訂購(gòu)信息,然后執(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_orde

62、r(ISBN,date,number,operator,checkAndAccept,zk) values('"+ISBN+"','"+date+"','"+number+"','"+operator+"',"+checkA ndAccept+",'"+zk+"')"; i=Dao.executeUpdate(sql);/枚行插入 } } 3.7.2 圖書(shū)驗(yàn)收 添加完圖書(shū)訂購(gòu)信息后,我們還要對(duì)圖書(shū)進(jìn)行驗(yàn)收,首先要在 Dao中添加一個(gè) SelectBookOrder方法,通過(guò)該方法來(lái)查找出所有錄入的新書(shū)訂購(gòu)信息,再添加一個(gè) UpdateCheckBookOrder方法,通過(guò)該方

63、法來(lái)對(duì)圖書(shū)進(jìn)行驗(yà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í)行查詢(xún) try { while (rs.next()) { Order order=new Order(); order.setISBN(rs.getString("ISBN")); order.se

64、tDate(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 Upda

65、teCheckBookOrder(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 圖書(shū)借閱管理模塊 圖書(shū)借閱管理模塊包含三個(gè)子模塊,分別是新書(shū)借閱、圖書(shū)歸還和圖書(shū)搜索。其中圖 書(shū)借閱模塊用來(lái)錄入讀者信息及所借閱的圖書(shū)

66、的信息,圖書(shū)歸還模塊用來(lái)顯示歸還讀者信 息及所借閱的圖書(shū)信息,圖書(shū)搜索模塊用來(lái)為讀者提供圖書(shū)搜索功能。其系統(tǒng)運(yùn)行界面如 圖3.8、3.9和3.10所示。 圖3.8圖書(shū)借閱管理界面 圖3.9圖書(shū)會(huì)還管理界面 圖3.10圖書(shū)查詢(xún)界面 3.8.1 圖書(shū)借閱 當(dāng)讀者想要對(duì)某圖書(shū)進(jìn)行借閱操作時(shí),圖書(shū)館管理員必須將讀者信息及所借閱的 圖書(shū)信息輸入到數(shù)據(jù)庫(kù),此時(shí),需要在 Dao中添加一個(gè)InsertBookBorrow方法,通過(guò) 該方法錄入讀者信息及所借閱的圖書(shū)信息。其主要方法如下: 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

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

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

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

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


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