優(yōu)秀畢業(yè)設(shè)計(jì)論文 源碼基于java的圖書館管理系統(tǒng)畢業(yè)設(shè)計(jì)
《優(yōu)秀畢業(yè)設(shè)計(jì)論文 源碼基于java的圖書館管理系統(tǒng)畢業(yè)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《優(yōu)秀畢業(yè)設(shè)計(jì)論文 源碼基于java的圖書館管理系統(tǒng)畢業(yè)設(shè)計(jì)(57頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、圖書管理系統(tǒng)畢業(yè)論文 目 錄 摘 要 III ABSTRACT IV 1. 緒 論 1 畢業(yè)設(shè)計(jì)主要任務(wù) 1 目前圖書管理系統(tǒng)存在的問題 1 課題意義 1 論文的工作和安排 2 2.圖書借閱管理需求分析 3 2.1 可行性分析 3 2.1.1.技術(shù)可行性 3 2.1.2.經(jīng)濟(jì)可行性 3 2.2 圖書借閱管理系統(tǒng)需求概述 3 系統(tǒng)目標(biāo) 3 用戶類和用戶特性 4 2.3 圖書借閱管理系統(tǒng)需求模型 4 功能描述 4 圖書管理員詳細(xì)功能描述 5 讀者詳細(xì)功能描述 5 主要用例的用例描述 6 3.總體設(shè)計(jì) 9 3.1 數(shù)據(jù)庫設(shè)計(jì) 9 數(shù)據(jù)庫設(shè)計(jì)概述
2、 9 圖書信息表結(jié)構(gòu)設(shè)計(jì) 10 圖書類型信息表結(jié)構(gòu)設(shè)計(jì) 11 3.1.4 讀者信息表結(jié)構(gòu)設(shè)計(jì) 11 讀者類型信息表結(jié)構(gòu)設(shè)計(jì) 12 圖書借閱信息表結(jié)構(gòu)設(shè)計(jì) 12 圖書歸還信息表結(jié)構(gòu)設(shè)計(jì) 13 用戶信息表結(jié)構(gòu)設(shè)計(jì) 13 圖書館信息表結(jié)構(gòu)設(shè)計(jì) 14 辦證參數(shù)信息表結(jié)構(gòu)設(shè)計(jì) 14 3.2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì) 15 圖書管理系統(tǒng)總體結(jié)構(gòu)圖 15 3.2.2 系統(tǒng)管理員模塊功能 15 3.2.3 讀者管理模塊功能 16 3.2.4 圖書管理模塊功能 16 3.2.5 圖書借還模塊功能 17 3.2.6 系統(tǒng)查詢模塊功能 18 4.程序設(shè)計(jì)與編碼 20 開發(fā)平臺(tái)與工具 20
3、 4.1.1 J2EE平臺(tái) 20 4.1.2 WEB效勞器和數(shù)據(jù)庫 20 程序設(shè)計(jì) 21 程序設(shè)計(jì)概述 21 數(shù)據(jù)庫與Web效勞器的連接 21 登錄模塊程序設(shè)計(jì) 23 系統(tǒng)管理員功能模塊的實(shí)現(xiàn) 25 讀者管理功能模塊的實(shí)現(xiàn) 26 查詢功能模塊的實(shí)現(xiàn) 27 圖書管理功能模塊的實(shí)現(xiàn) 29 4.圖書借還功能模塊的實(shí)現(xiàn) 30 5.軟件測試 33 5.1 軟件測試的方法與步驟 33 5.2 測試用例設(shè)計(jì)與測試用例的運(yùn)行過程及測試結(jié)果分析 34 模塊測試 34 集成測試 35 5.2.3 驗(yàn)收測試 36 5.3 評(píng)價(jià) 36 6.結(jié)束語 37 6.1 工作成果 37
4、 6.2 改良意見 37 6.3 收獲體會(huì) 37 參考文獻(xiàn) 39 致 謝 40 摘 要 隨著科學(xué)技術(shù)的進(jìn)步,計(jì)算機(jī)行業(yè)的迅速開展,大大提高人們的工作效率。計(jì)算機(jī)信息處理系統(tǒng)的引進(jìn)已徹底改變了許多系統(tǒng)的經(jīng)營管理 。 圖書管理系統(tǒng)是學(xué)校管理機(jī)制中的重要組成局部,通過對(duì)圖書管理系統(tǒng)的運(yùn)行管理機(jī)制進(jìn)行調(diào)查研究,開發(fā)了此圖書系統(tǒng)。本系統(tǒng)中解決了學(xué)校圖書管理事務(wù)中的常用根本問題以及相關(guān)統(tǒng)計(jì)工作。本系統(tǒng)中包含6個(gè)功能模塊:系統(tǒng)設(shè)置,讀者管理,圖書管理,圖書借還,系統(tǒng)查詢和更改口令。 本系統(tǒng)使有jsp進(jìn)行網(wǎng)頁界面的設(shè)計(jì),使用MVC設(shè)計(jì)模式,采用了開源框架Struts,它采用了當(dāng)今
5、軟件設(shè)計(jì)的最新技術(shù),具有開發(fā)效率高、設(shè)計(jì)靈活、生成的軟件界面友好美觀等特點(diǎn)。本系統(tǒng)中通過JDBC驅(qū)動(dòng)和數(shù)據(jù)庫進(jìn)行無縫連接,后端的數(shù)據(jù)庫是mysql,也是一個(gè)開源的數(shù)據(jù)庫系統(tǒng),該數(shù)據(jù)庫具有較高的完整性,一致性和平安性。 關(guān)鍵詞:圖書管理;信息管理;jsp;struts Abstract With the progress of science and technology, the astonishing rapid development of the computer industry has been improving
6、people's working efficiency greatly.The introduction of computerized information system has sharply changed the management in many systems in many fields. The management system of the library takes an important role in the administration of school organization. I desigen the system after the thoro
7、ugh investigations about the library management system’s mechanism. This system contains with reader informantion management model, book information management model, books borrowing and returning including system information query and password setting. The system is contrived with Java Server Pag
8、es Techonolege as well as Struts,the software design mode of MVC with open source framework techonolege, which makes this system have the advantages of efficiently designed with beauteous and friendly interface . This system use jdbc driver to connect the mysql database server,which is also an open
9、source database system for its users. The batabase was desigend with highly integrity, security, and consistency. Key words: book management, management of information ,jsp,struts 1. 緒 論 畢業(yè)設(shè)計(jì)主要任務(wù) 1.實(shí)現(xiàn)圖書館對(duì)所藏圖書的按類別、書名等多方面的查詢,最大的方便讀者和圖書館工作人員對(duì)所需圖書的查詢; 2.建立圖書館外借讀者數(shù)據(jù)庫,
10、方便工作人員對(duì)讀者進(jìn)行有效管理; 3.建立圖書館工作人員數(shù)據(jù)庫,限定每個(gè)工作人員對(duì)軟件操作的權(quán)限,最大限度的保護(hù)數(shù)據(jù)庫; 4.實(shí)現(xiàn)圖書館對(duì)新書入庫,舊書注銷的簡單處理,并且建立書籍檔案,方便進(jìn)貨; 目前圖書管理系統(tǒng)存在的問題 1)檢索速度慢、效率低 因?yàn)閳D書館的藏書種類多、數(shù)量多,將藏書準(zhǔn)確地分門別類,快速檢索,手工進(jìn)行非常困難往往是終于查到了二偉的信息,館中沒有此書或已被別人借走。圖書館的規(guī)模越大,這個(gè)問題越突出。 2)借書、還書工作量大 借書、還書頻率越大,說明圖書館的作用越大,然而隨之而來的大量的借書、還書登記、實(shí)存圖書的更新以及借出圖書超期、遺失等的處理,其工作量之大
11、,往往是人工操作所難以勝任的。而且經(jīng)常會(huì)出現(xiàn)這樣那樣的過失。 3)圖書統(tǒng)計(jì)工作難、藏書更新不能及時(shí)完成。 圖書館的圖書應(yīng)根據(jù)科學(xué)技術(shù)的開展和教學(xué)工作的需要及時(shí)添加和更新,然而由于藏書數(shù)量及圖書種類越來越多,加上自然損耗,人為破壞,使圖書的統(tǒng)計(jì)工作難以及時(shí)完成,藏書的更新也就很難有針對(duì)性地進(jìn)行,藏書的知識(shí)結(jié)構(gòu)得不到良好地控制。 我校也是一所開展中的高校,近兒年的開展速度很快,圖書館的規(guī)模和藏書數(shù)量也不斷的擴(kuò)大,為了解決海量圖書的管理問題,改變傳統(tǒng)的管理方式也是迫在眉睫了。 1.3課題意義 隨著計(jì)算機(jī)的廣泛應(yīng)用,其逐步成為現(xiàn)代化的標(biāo)志。圖書館或者一些企業(yè)內(nèi)部,甚至是書店,在正常運(yùn)行過程中
12、總是面對(duì)大量的讀者信息,書籍信息以及兩者相互作用產(chǎn)生的借書信息、還書信息。因此需要對(duì)讀者資源、書籍資源、借書信息、還書信息進(jìn)行管理,及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更,要對(duì)因此而產(chǎn)生的單據(jù)進(jìn)行及時(shí)的處理,為了提高圖書館或者企業(yè)內(nèi)部對(duì)圖書存銷的自動(dòng)化的管理,能夠更快速的滿足讀者的要求,提高各種工作的效率,現(xiàn)對(duì)其設(shè)計(jì)相應(yīng)的系統(tǒng),以到達(dá)上述的目的[1]。 圖書管理系統(tǒng)的主要功能是實(shí)現(xiàn)圖書館圖書借閱和歸還的管理的自動(dòng)化。圍繞這一主要功能,本系統(tǒng)涉及到以下核心功能:借閱管理,歸還管理。除了這些核心功能外,還包括一些根本和輔助功能,它們是:用戶管理、圖書館參數(shù)管理、圖書管理、統(tǒng)計(jì)查詢。 本次設(shè)計(jì)的目標(biāo)是
13、,開發(fā)一個(gè)圖書館借閱管理系統(tǒng)。借助該系統(tǒng),管理員通過快捷可靠的數(shù)據(jù)庫管理,方便的管理圖書館的信息資料,標(biāo)準(zhǔn)化的管理讀者用戶,設(shè)定不同用戶權(quán)限,并能通過互聯(lián)網(wǎng)向讀者提供更為方便的在線查詢效勞,方便讀者的使用,最終到達(dá)提高圖書館資源利用效率的目的。 論文設(shè)計(jì)和實(shí)現(xiàn)了圖書借閱管理系統(tǒng)系統(tǒng),可以根據(jù)用戶的不同權(quán)限,對(duì)圖書館的的各種信息進(jìn)行添加、刪除、修改或查詢操作。論文分為五個(gè)局部: 第一章即本章緒論,簡述圖書館借閱管理系統(tǒng)這個(gè)課題的背景情況以及開發(fā)本系統(tǒng)的意義。 第二章為需求分析,本章中明確了系統(tǒng)需要實(shí)現(xiàn)的功能,分析了系統(tǒng)的用例,并介紹根據(jù)系統(tǒng)的需求選擇的開發(fā)工具和技術(shù)的概況。 第三章是總體
14、設(shè)計(jì),詳細(xì)描述了本系統(tǒng)中數(shù)據(jù)庫的設(shè)計(jì)情況,并給出了系統(tǒng)總體界面的設(shè)計(jì)方案。 第四章為程序設(shè)計(jì)與編碼各主要功能模塊的實(shí)現(xiàn)方法和局部關(guān)鍵代碼,同時(shí)提供了個(gè)主要界面運(yùn)行的參考圖片,以更直觀了解系統(tǒng)的實(shí)現(xiàn)情況。 第五章是軟件測試,測試系統(tǒng)功能實(shí)現(xiàn)并對(duì)測試結(jié)果進(jìn)行記錄分析 第六章為結(jié)束語,為此次畢業(yè)設(shè)計(jì)做一個(gè)總結(jié),總結(jié)所獲得的經(jīng)驗(yàn)和體會(huì)。 2.圖書借閱管理需求分析 2.1 可行性分析 采用現(xiàn)代化統(tǒng)一的計(jì)算機(jī)信息網(wǎng)站系統(tǒng),能夠有效優(yōu)化圖書館管理系統(tǒng),使其高效的發(fā)揮最大作用,能夠迅捷的為讀者提供相應(yīng)的效勞。開發(fā)本系統(tǒng)的可行性研究如下: 技術(shù)可行性 技術(shù)上的可行性分析主要分析技術(shù)條件能否順
15、利完成開發(fā)工作,軟、硬件能否滿足需要。本系統(tǒng)采用JSP開發(fā)出友好美觀的人機(jī)界面,便于用戶理解、操作。數(shù)據(jù)庫管理系統(tǒng)采用MySQL,它能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)的完整性、平安性。因此本系統(tǒng)的開發(fā)平臺(tái)已成熟可行。硬件方面,在科技飛速開展的今天,硬件更新速度越來越快,容量越來越大,可靠性越來越高,價(jià)格越來越廉價(jià),因此硬件平臺(tái)也能夠滿足本系統(tǒng)所需[2]。 .經(jīng)濟(jì)可行性 鑒于計(jì)算機(jī)技術(shù)開展異常迅猛,在硬件軟件配置以及開發(fā)技術(shù)均以可行的情況下開發(fā)這樣一個(gè)管理系統(tǒng)本錢不會(huì)很高,但其可以大大提高圖書館的工作效率,也是圖書館管理開展的必然趨勢,其必將有比擬寬闊的市場,因此改性統(tǒng)在經(jīng)濟(jì)可行性上時(shí)可行的[2
16、]。 2.2 圖書借閱管理系統(tǒng)需求概述 2.2.1系統(tǒng)目標(biāo) 該系統(tǒng)主要建立一個(gè)基于B/S模式的圖書館借閱管理系統(tǒng),面對(duì)當(dāng)起很多小型圖書管理仍是人工管理帶來的檢索速度慢,效率低,借閱歸還圖書量大,圖書統(tǒng)計(jì)工作量大,藏書不能完成及時(shí)更新的問題,該系統(tǒng)可以對(duì)跟系統(tǒng)的三個(gè)用戶類型的使用實(shí)現(xiàn): 讀者在本系統(tǒng)的應(yīng)用下可實(shí)現(xiàn)按照各種方式(如:書名,編號(hào),作者)查詢圖書館的藏書請(qǐng)客,方便的借閱圖書,續(xù)借圖書,歸還圖書,能夠查詢自己的借閱圖書情況。 2.對(duì)于圖書館工作人員能夠?qū)崿F(xiàn)方便的對(duì)圖書進(jìn)行查詢,方便的進(jìn)行讀者借閱情況查詢,方便的進(jìn)行借書還書處理等,便捷的對(duì)圖書信息進(jìn)行添加、修改、刪除,分類管理等
17、操作,對(duì)讀者信息進(jìn)行相關(guān)添加,修改,分類管理等操作。 可以對(duì)圖書館信息進(jìn)行修改更新操作,對(duì)系統(tǒng)用戶進(jìn)行添加、修改、刪除、權(quán)限設(shè)置等操作,對(duì)圖書館的辦證參數(shù)進(jìn)行修改維護(hù)等操作功能。 2.2.2用戶類和用戶特性 圖書借閱管理系統(tǒng)是一個(gè)基于B/S模式的對(duì)圖書館進(jìn)行高效率管理的應(yīng)用系統(tǒng),它的用戶主要是讀者和圖書管理員,學(xué)生通過該系統(tǒng)進(jìn)行圖書查詢進(jìn)而對(duì)自己需要的圖書進(jìn)行借閱及自己的借閱情況進(jìn)行查詢,圖書管理員那么通過本系統(tǒng)實(shí)現(xiàn)對(duì)圖書及讀者的高效管理,除此之外,還需要一個(gè)系統(tǒng)管理員對(duì)不同的用戶進(jìn)行權(quán)限的設(shè)置等操作[2]。 三類用戶的具體描述如下表所示: 用戶類 描述 讀者 讀者是該系統(tǒng)
18、的重要的使用角色,他們通過該系統(tǒng)查詢自己需要的圖書信息,并像圖書管理員提出借閱圖書的申請(qǐng)進(jìn)而借閱自己所需的圖書,還可以通過對(duì)自己借閱情況進(jìn)行查詢。 圖書管理員 圖書管理員是該系統(tǒng)的另一個(gè)重要使用者,圖書管理員通過該系統(tǒng)進(jìn)行圖書的增加,修改,刪除,分類管理等操作,實(shí)現(xiàn)對(duì)讀者借閱歸還續(xù)接圖書的方便操作,實(shí)現(xiàn)對(duì)系統(tǒng)中圖書,讀者,讀者借閱情況的查詢,信息更改維護(hù)等操作,管理讀者類型,對(duì)不同類型讀者可借閱的圖書數(shù)量進(jìn)行設(shè)置等圖書館的根本操作。 系統(tǒng)員 系統(tǒng)管理員主要是圖書管理系統(tǒng)中用戶的管理,實(shí)現(xiàn)用戶添加修改刪除以及用戶權(quán)限設(shè)置等操作,實(shí)現(xiàn)對(duì)圖書館根本信息的修改維護(hù)等操作,還包括對(duì)圖書館書架的設(shè)
19、置操作,以及校外讀者辦證所需費(fèi)用、證件有效期等參數(shù)的設(shè)置。 2.3 圖書借閱管理系統(tǒng)需求模型 2.3.1功能描述 圖書借閱管理系統(tǒng)的主要任務(wù)是實(shí)現(xiàn)讀者迅速檢索查詢,方便借閱歸還圖書,圖書管理員高效的完成系統(tǒng)的各項(xiàng)根本操作,系統(tǒng)管理員是管理用戶設(shè)置權(quán)限等操作[3]: 1. 登錄。 讀者、圖書管理員,系統(tǒng)管理員進(jìn)入該系統(tǒng)必須登錄,身份驗(yàn)證正確了才可以進(jìn)入該系統(tǒng),以不同身份進(jìn)入該系統(tǒng)所對(duì)應(yīng)的系統(tǒng)使用權(quán)限是不同的。 2. 系統(tǒng)設(shè)置功能: 系統(tǒng)管理員可以設(shè)置圖書館相關(guān)的參數(shù)信息。 戶管理功能: 對(duì)系統(tǒng)用戶進(jìn)行添加,修改,刪除,權(quán)限設(shè)置等操作。 4.查詢功能: 對(duì)圖書館的館藏圖書
20、,借閱歷史,讀者用戶等信息進(jìn)行查詢。 系統(tǒng)管理員可以修改自己的密碼,并且擁有其他用戶所擁有的所有功能。 2.3.2圖書管理員詳細(xì)功能描述 1. 讀者管理功能: 對(duì)讀者的類型和讀者檔案進(jìn)行管理,包括添加,修改,刪除讀者類型和讀者用戶的相關(guān)信息,管理不同類型讀者借閱圖書的數(shù)量。 2. 圖書管理功能: 包括對(duì)圖書類型和具體圖書信息的管理,可以增加,修改,刪除圖書,豐富具體圖書的信息,對(duì)不同圖書進(jìn)行分類操作。 3. 圖書借閱功能: 可以完成對(duì)讀者借閱,續(xù)接和還書的操作。 4. 系統(tǒng)查詢功能: 查詢圖書相關(guān)資料,借閱歷史和借閱到期題型. 5. 修改密碼功能: 可以修改
21、自己的登錄密碼。 2.3.3讀者詳細(xì)功能描述 1) 修改登陸密碼: 修改自己的登錄密碼。 2) 查詢功能: 對(duì)圖書館圖書信息進(jìn)行查詢,對(duì)自己當(dāng)前借閱書籍進(jìn)行查詢,對(duì)圖書規(guī)劃到期題型進(jìn)行查看。 2.3.4主要用例的用例描述 圖書借閱借閱管理系統(tǒng)涉及到的用例包括:圖書借閱,圖書歸還,讀書查詢,讀者信息管理,圖書信息管理,用戶管理等,現(xiàn)就系統(tǒng)的主要用例圖書借閱,圖書歸還,圖書查詢進(jìn)行詳細(xì)分析。 1)用例“圖書借閱〞 用例名稱 圖書借閱 標(biāo)識(shí)符 UC-1 參與者 讀者,圖書管理員 描述 讀書可以通過查詢等方式獲得自己想借閱的圖書的名稱,編號(hào),等其他可唯一識(shí)別的信息,向圖
22、書管理員提出借閱請(qǐng)求,管理員在系統(tǒng)中記錄相應(yīng)信息,將圖書交給讀者,借閱成功。 前置條件 1. 登錄;2. 進(jìn)入圖書借閱的頁面 后置條件 1. 更新圖書借閱列表; 主干過程 1.0 借閱圖書 1. 讀者請(qǐng)求借閱新地圖書,并提供自己的編號(hào) 2. 系統(tǒng)顯示讀者借閱情況的表單 3. 讀者提供想借閱的圖書的標(biāo)號(hào) 4. 系統(tǒng)存儲(chǔ)讀者和借閱的圖書,并將之存儲(chǔ)到數(shù)據(jù)庫中 5. 系統(tǒng)更新借閱列表 分支過程 1.1 選擇重置〔第3步后分支出來〕 1. 讀者選擇重置 2. 系統(tǒng)刷新該頁面 異常 1.0.E.1 讀者借閱已滿〔第2步〕 1.讀者借閱的數(shù)目已經(jīng)到達(dá)自己借閱的上線
23、 2. 系統(tǒng)將錯(cuò)誤信息顯示在借閱頁面 3. 系統(tǒng)重新啟動(dòng)該用例 被包含用例 無 被擴(kuò)展用例 無 優(yōu)先級(jí) 高 2)用例“圖書歸還〞 用例名稱 圖書歸還 標(biāo)識(shí)符 UC-1 參與者 讀者,圖書管理員 描述 讀者將自己借閱的圖書歸還圖書館。 前置條件 1. 登錄;2. 進(jìn)入圖書歸還頁面 后置條件 1. 更新圖書歸還列表; 主干過程 2.0 圖書歸還 6. 讀者請(qǐng)求歸還借閱的圖書并提供自己的編號(hào) 7. 系統(tǒng)顯示該讀者的借閱信息表 8. 使用者填將要?dú)w還的圖書交給管理員 9. 管理員輸入圖書編號(hào),系統(tǒng)存儲(chǔ)歸還信息,并將之存儲(chǔ)到數(shù)據(jù)庫中
24、 10. 系統(tǒng)更圖書歸還列表 分支過程 1.1 選擇重置〔第3步后分支出來〕 1. 讀者選擇重置 2. 系統(tǒng)刷新該頁面 異常 1.0.E.1 讀者借閱超時(shí)〔第4步〕 1.該書超出了應(yīng)該歸還的時(shí)間范圍 2. 系統(tǒng)將罰款信息顯示在歸還頁面 3. 需要繳納罰金 被包含用例 無 被擴(kuò)展用例 無 優(yōu)先級(jí) 高 3)用例“圖書查詢〞 用例名稱 圖書查詢 標(biāo)識(shí)符 UC-3 參與者 讀者,圖書管理員 描述 讀者通過圖書的標(biāo)號(hào),名稱等信息對(duì)相應(yīng)的圖書進(jìn)行查詢。 前置條件 1. 登錄; 2. 轉(zhuǎn)到圖書查詢頁面 后置條件 1. 查詢頁面顯示相應(yīng)的圖書的
25、信息 主干過程 圖書查詢 1. 讀者輸入想要查詢的圖書信息 2. 系統(tǒng)顯示相應(yīng)的圖書信息 3. 讀者點(diǎn)擊讀書名稱,跳轉(zhuǎn)到圖書詳細(xì)信息鏈接頁面 分支過程 輸入信息時(shí)(第2步后) 1. 系統(tǒng)顯示:請(qǐng)選擇查詢依據(jù) 2. 用戶進(jìn)行相應(yīng)選擇 重新查詢〔第2步后〕 1. 系統(tǒng)已經(jīng)顯示了相應(yīng)圖書信息 2. 讀者想查詢其他圖書 異常 5.0.E.1 查詢的圖書不存在〔第2步后〕 1. 讀者輸入的圖書信息不能在數(shù)據(jù)庫中查詢到 2. 系統(tǒng)顯示暫時(shí)無該圖書信息 3. 重新啟動(dòng)該用例 被包含用例 無 被擴(kuò)展用例 無 優(yōu)先級(jí) 高 3.總體設(shè)計(jì) 3.1 數(shù)據(jù)庫設(shè)計(jì) 3.
26、數(shù)據(jù)庫設(shè)計(jì)概述 數(shù)據(jù)庫是整個(gè)系統(tǒng)的基石,數(shù)據(jù)庫的設(shè)計(jì)優(yōu)劣直接影響到整個(gè)系統(tǒng)的設(shè)計(jì)成敗,本節(jié)對(duì)數(shù)據(jù)庫的設(shè)計(jì)進(jìn)行專門闡述[5]。 數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù)。十多年來數(shù)據(jù)庫管理系統(tǒng)已從專用的應(yīng)用程序開展成為通用的系統(tǒng)軟件。由于數(shù)據(jù)庫具有數(shù)據(jù)結(jié)構(gòu)化,最低冗余度,較高的程序與數(shù)據(jù)獨(dú)立性,易于擴(kuò)充,易于編制應(yīng)用程序等優(yōu)點(diǎn),較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫設(shè)計(jì)之上的。因此不僅大型計(jì)算機(jī)及中小型計(jì)算機(jī),甚至微型機(jī)都配有數(shù)據(jù)庫管理系統(tǒng)[6]。 數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序?yàn)橹行霓D(zhuǎn)向圍繞共享的數(shù)據(jù)庫為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,又有利于應(yīng)用程序的研制和維護(hù),提高了數(shù)據(jù)的利用性和相
27、容性,提高了決策的可靠性。目前,數(shù)據(jù)庫已經(jīng)成為現(xiàn)代信息系統(tǒng)不可分割的重要組成局部。數(shù)據(jù)庫技術(shù)也是計(jì)算機(jī)領(lǐng)域中開展最快的技術(shù)之一。 數(shù)據(jù)庫設(shè)計(jì)是把現(xiàn)實(shí)世界的實(shí)體模型與需求轉(zhuǎn)換成數(shù)據(jù)庫的模型的過程,它是建立數(shù)據(jù)庫應(yīng)用系統(tǒng)的核心問題。數(shù)據(jù)庫及其應(yīng)用的性能都建立在良好的數(shù)據(jù)庫設(shè)計(jì)的根底之上,數(shù)據(jù)庫的數(shù)據(jù)是一切操作的根底,如果數(shù)據(jù)庫設(shè)計(jì)不好,那么其它一切用于提高數(shù)據(jù)庫性能的方法收效都是有限的。數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵是如何使設(shè)計(jì)的數(shù)據(jù)庫能合理地存儲(chǔ)用戶的數(shù)據(jù),方便用戶進(jìn)行數(shù)據(jù)處理[6]。 設(shè)計(jì)數(shù)據(jù)庫必須遵循一定的規(guī)那么,在關(guān)系型數(shù)據(jù)庫中,這種規(guī)那么就是范式,范式是符合某一種級(jí)別的關(guān)系模式的集合。一般人們?cè)O(shè)計(jì)
28、數(shù)據(jù)庫遵循第三范式。即:數(shù)據(jù)庫表中不包含已在其他表中包含的非主關(guān)鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲(chǔ)空間,同時(shí)加快了增、刪、改的速度[6]。 整個(gè)系統(tǒng)所包括的信息有圖書信息、讀者信息、留言信息、圖書借閱信息、圖書歸還信息、系統(tǒng)用戶信息、讀者類型信息??蓪⑦@些信息抽象為以下系統(tǒng)所需要的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu): 1)圖書信息〔編號(hào),圖書名稱,圖書類型,作者,譯者,ISBN號(hào),價(jià)格,出版社,所在書架,入庫時(shí)間,操作員〕 2)圖書類型(編號(hào),名稱,可借閱天數(shù)) 3)讀者信息〔編號(hào),姓名,性別,條形碼,讀者類型,出生年月,有效證件,證件號(hào)碼,登記日期, ,郵箱,操作員〕 4)讀者類型(名
29、稱,可借閱圖書本數(shù)) 5)圖書借閱信息〔圖書編號(hào),讀者ID,借出時(shí)間,應(yīng)還時(shí)間,是否歸還,操作員〕 6)圖書歸還信息〔圖書編號(hào),讀者ID,歸還時(shí)間,操作員〕 7)用戶(編號(hào),用戶名稱,密碼) 8)圖書館信息(編號(hào),名稱,館長, ,地址,郵箱,創(chuàng)立日期,簡介) 圖書館參數(shù)信息(編號(hào),辦證費(fèi)用,有效期限) 注:帶下劃線表示主鍵 在這里使用E-R圖描述了圖書借閱管理系統(tǒng)的數(shù)據(jù)模型。圖3.1圖書借閱管理系統(tǒng)E-R圖描述了該系統(tǒng)所涉及到的實(shí)體以及他們之間的關(guān)系。具體結(jié)構(gòu)如以下圖所示: . 3.數(shù)據(jù)庫設(shè)計(jì): 圖書信息表: 字段名 說明 類型 長度及備注 ISBN
30、 國際標(biāo)準(zhǔn)書號(hào) Varchar(13) 主鍵 typeId 圖書類型id Int Bookname 書名 Varchar(40) Writer 作者 Varchar(21) Translater 譯者 Varchar(30) 可以為空 Publisher 出版社 Varchar(50) Date 出版日期 Smalldatetime Price 價(jià)格 money 圖書類別表: 字段名 說明 類型 長度及備注 TypeName 圖書類型 Varchar(20) Id 自動(dòng)編號(hào) Int 主鍵
31、 用戶信息表: 字段名 說明 類型 長度及備注 Id 自動(dòng)編號(hào) Int 主鍵 Name 姓名 Varchar(2) Sex 性別 Varchar(2) Age 年齡 int Identitycard 證件號(hào)碼 Varchar(2) Workdate 辦證日期 datetime Tel 號(hào)碼 Varchar(2) Yajin 押金 Int Password 密碼 Nvarchar(10) admin 管理員 Nchar(10) 讀者信息表: 字段名 說明 類型 長度及備
32、注 Name 姓名 Varchar(10) Sex 性別 Varchar(2) Age 年齡 int identityCard 證件號(hào)碼 Varchar(30) Date 日期 Smalldatetime manNum 最大書量 Int Tel 號(hào)碼 Varchar(15) keepMoney 押金 Miney Zj 證件類型 Int Zy 職業(yè) Varchar(50) ISBN 國際標(biāo)準(zhǔn)書號(hào) Varchar(13) bztime 辦證時(shí)間 datetime 3.
33、2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì) 該系統(tǒng)在Windows98/2000/XP環(huán)境下,主要采用JSP開發(fā)工具,MySQL數(shù)據(jù)庫來設(shè)計(jì),開發(fā)過程與成果應(yīng)符合GB/T 11457-1995軟件工程術(shù)語,GB/T 8567-1988計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南等[7]。 3.圖書管理系統(tǒng)總體結(jié)構(gòu)圖 繪制系統(tǒng)結(jié)構(gòu)圖的過程,實(shí)際上就是對(duì)系統(tǒng)功能模塊進(jìn)行分解設(shè)計(jì)的過程,即合理地將數(shù)據(jù)流程圖轉(zhuǎn)變?yōu)樗枰南到y(tǒng)結(jié)構(gòu)圖[8]。 系統(tǒng)結(jié)構(gòu)圖將會(huì)使讀者和用戶能直觀的了解系統(tǒng)的結(jié)構(gòu)模式,理解系統(tǒng)的各個(gè)功能的結(jié)構(gòu),能很好地方便用戶使用和理解整個(gè)系統(tǒng)。 本系統(tǒng)的結(jié)構(gòu)圖如下: 系統(tǒng)總體結(jié)構(gòu)圖 根據(jù)需求分析的結(jié)果,按照
34、“低耦合、高內(nèi)聚〞的原那么,本系統(tǒng)將劃分為以下主要功能模塊:系統(tǒng)管理員功能模塊,讀者管理功能模塊,圖書管理功能模塊,圖書借還功能模塊;系統(tǒng)查詢功能模塊[8]。 3.2.2 系統(tǒng)管理員模塊功能 該模塊主要包括圖書館信息設(shè)置,用戶管理,參數(shù)設(shè)置,書架設(shè)置。 該功能選項(xiàng)用于系統(tǒng)管理員對(duì)圖書館名稱,地址,聯(lián)系方式,簡介等信息的管理更新,以便于讀者和外界人士對(duì)圖書館的了解。該功能是對(duì)td_library表進(jìn)行維護(hù)修改等操作,修改后的信息將被保存在該表中。 2.用戶設(shè)置 該功能子模塊主要是系統(tǒng)管理員對(duì)系統(tǒng)用戶的管理,通過此子模塊的功能實(shí)現(xiàn)可以對(duì)用戶進(jìn)行添加、修改、刪除、權(quán)限設(shè)置等操作,該子模
35、塊能將圖書館的不同工作細(xì)化到不同的相關(guān)人員,極大地提高了圖書館的工作效率。該操作是對(duì)tb_users表進(jìn)行操作,在對(duì)用戶進(jìn)行了相關(guān)的操作后把操作后的最新信息存放在該表中。 通過該子模塊設(shè)置在圖書館辦理臨時(shí)讀者證的費(fèi)用及證件有效期限。該操作是對(duì)于tb_parameter表進(jìn)行,并把操作后的最新數(shù)據(jù)存放在該表中。 讀者管理模塊功能 該模塊主要包含讀者類型管理和讀者信息管理兩個(gè)子模塊: 1. 讀者類型管理 該子模塊是對(duì)圖書館系統(tǒng)用戶讀者的類型進(jìn)行維護(hù),修改等操作,在此模塊中主要設(shè)置不同類型讀者一次性可借閱的圖書的數(shù)量,該操作是對(duì)于tb_resderType表進(jìn)行,并將操作結(jié)果保存在該
36、表中。 2. 讀者信息管理 該子模塊是對(duì)讀者的根本信息進(jìn)行管理,可以對(duì)讀者的根本信息進(jìn)行添加,修改,刪除操作,這下操作均是對(duì)tb_resder表進(jìn)行的,并將操作后的結(jié)果保存在該表中。 3.2.4 圖書管理模塊功能 圖書管理功能模塊可分為圖書類型管理和圖書信息管理兩個(gè)子模塊,其各自的實(shí)現(xiàn)分別如下面表中所示: 表3.11 圖書類型管理描述 圖書類型管理 功能描述 對(duì)圖書進(jìn)行類型設(shè)置分類,并對(duì)不同類型圖書可被借閱的天數(shù)進(jìn)行設(shè)置 訪問的數(shù)據(jù)庫表 圖書類型表:tb_bookType 進(jìn)行的操作 添加、修改、刪除圖書類型,對(duì)不同類型圖書可被借閱的天數(shù)進(jìn)行設(shè)
37、置 產(chǎn)生的結(jié)果 對(duì)圖書類型進(jìn)行管理,對(duì)不同類型圖書參數(shù)進(jìn)行設(shè)置 結(jié)果存儲(chǔ)位置或輸出 結(jié)果存儲(chǔ)在圖書類型表(tb_bookType)中,結(jié)果在圖書類型查詢頁面輸出 表3.12 圖書信息管理描述 圖書信息管理 功能描述 對(duì)圖書進(jìn)行根本操作和信息管理 訪問的數(shù)據(jù)庫表 圖書類型表:tb_bookType 進(jìn)行的操作 添加、修改、刪除圖書,對(duì)圖書的編號(hào)、所在書架、價(jià)格、出版社等根本信息進(jìn)行管理 產(chǎn)生的結(jié)果 對(duì)圖書根本操作管理,對(duì)不同圖書參數(shù)進(jìn)行各自信息的設(shè)置管理 結(jié)果存儲(chǔ)位置或輸出 結(jié)果存儲(chǔ)在圖書類型表(tb_book)中,結(jié)果在圖書查
38、詢頁面輸出 圖書借還模塊功能 該功能模塊主要實(shí)現(xiàn)對(duì)讀者借閱、續(xù)接、歸還圖書的操作,其中子模塊各自的描述如下各表所列: 表3.13 圖書借閱描述 圖書借閱管理 功能描述 對(duì)讀者借閱圖書進(jìn)行根本操作和信息管理 訪問的數(shù)據(jù)庫表 圖書信息表: tb_bookinfo 讀者信息表:tb_reader 讀者類型信息表:tb_resderType 進(jìn)行的操作 對(duì)讀者借閱圖書進(jìn)行管理 產(chǎn)生的結(jié)果 讀者借閱成功,系統(tǒng)對(duì)借閱信息進(jìn)行記錄 結(jié)果存儲(chǔ)位置或輸出 結(jié)果存儲(chǔ)在圖書借閱表(tb_borrow)中,結(jié)果在圖書借閱查詢頁面輸出 表3.14 圖書續(xù)借描
39、述 圖書續(xù)接管理 功能描述 對(duì)讀者借閱圖書進(jìn)行提續(xù)接操作 訪問的數(shù)據(jù)庫表 圖書借閱表: tb_borrow 進(jìn)行的操作 對(duì)借閱的圖書進(jìn)行續(xù)接 產(chǎn)生的結(jié)果 讀者歸還日期延后一個(gè)月 結(jié)果存儲(chǔ)位置或輸出 結(jié)果存儲(chǔ)在圖書借閱表(tb_borrow)中 圖書歸還管理 功能描述 對(duì)讀者歸還圖書進(jìn)行根本操作和信息管理 訪問的數(shù)據(jù)庫表 圖書借閱信息表: tb_borrow 讀者類型信息表:tb_resderType 進(jìn)行的操作 對(duì)讀者借閱圖書進(jìn)行管理 產(chǎn)生的結(jié)果 讀者借閱成功,系統(tǒng)對(duì)借閱信息進(jìn)行記錄 結(jié)果存儲(chǔ)位置或輸出
40、結(jié)果存儲(chǔ)在圖書歸還表(tb_giveback)中 系統(tǒng)查詢模塊功能 該模塊包括對(duì)圖書館藏書進(jìn)行查詢,對(duì)讀者借閱情況進(jìn)行查詢,以及對(duì)借閱到期和超期的讀者進(jìn)行提醒的信息,其中三個(gè)子模塊的各自實(shí)習(xí)如下所示: 表3.16 圖書查詢描述 圖書查詢 功能描述 系統(tǒng)用戶對(duì)館藏圖書信息進(jìn)行查詢操作 訪問的數(shù)據(jù)庫表 圖書信息表: tb_book 進(jìn)行的操作 用戶通過圖書的編號(hào),作者,出版社等信息對(duì)圖書進(jìn)行相關(guān)查詢 產(chǎn)生的結(jié)果 讀者查詢到相應(yīng)的圖書或系統(tǒng)提醒查詢的圖書不存在 結(jié)果存儲(chǔ)位置或輸出 結(jié)果在圖書查詢頁面輸出 表3.17 圖書借閱查詢描述 圖書借閱
41、查詢 功能描述 系統(tǒng)用戶對(duì)讀者借閱圖書信息進(jìn)行查詢操作 訪問的數(shù)據(jù)庫表 圖書借閱表: tb_borrow 進(jìn)行的操作 用戶通過圖書的編號(hào),讀者編號(hào)等信息對(duì)摸個(gè)讀者或某本圖書的借閱情況進(jìn)行相關(guān)查詢 產(chǎn)生的結(jié)果 查詢到相應(yīng)的讀者或圖書得借閱情況 結(jié)果存儲(chǔ)位置或輸出 結(jié)果在圖書查詢頁面輸出 表3.18 圖書借閱到期提醒描述 圖書借閱到期提醒管理 功能描述 對(duì)讀者借閱的到期圖書進(jìn)行提醒 訪問的數(shù)據(jù)庫表 圖書借閱表: tb_borrow 圖書歸還表:tb_giveback 讀者信息表:tb_reader 讀者類型信息表:tb_resderType 進(jìn)行
42、的操作 對(duì)借閱到期和超期的讀者進(jìn)行提醒 產(chǎn)生的結(jié)果 向借閱到期和借閱超期的讀者發(fā)送郵件等提醒信息 結(jié)果存儲(chǔ)位置或輸出 結(jié)果存儲(chǔ)在圖書借閱到期提醒表 4.程序設(shè)計(jì)與編碼 開發(fā)平臺(tái)與工具 4.1.1 J2EE平臺(tái) J2EE ,即是Java2平臺(tái)企業(yè)版〔Java 2 Platform Enterprise Edition〕,是原Sun公司〔現(xiàn)已被甲骨文公司收購〕為企業(yè)級(jí)應(yīng)用推出的標(biāo)準(zhǔn)平臺(tái)。它簡化了企業(yè)解決方案的開發(fā)、部署和管理相關(guān)復(fù)雜問題的體系結(jié)構(gòu),J2EE技術(shù)的根底就是核心Java平臺(tái)或Java
43、 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅穩(wěn)固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫一次、隨處運(yùn)行"的特性、方便存取數(shù)據(jù)庫的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的平安模式等等,同時(shí)還提供了對(duì) EJB〔Enterprise JavaBeans〕、Java Servlets API、JSP〔Java Server Pages〕以及XML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開發(fā)者大幅縮短投放市場時(shí)間的體系結(jié)構(gòu)。J2EE體系結(jié)構(gòu)提供中間層集成框架用來滿足無需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過提供統(tǒng)一的開發(fā)平臺(tái),J2EE降低了開發(fā)多層應(yīng)用的費(fèi)用
44、和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了平安機(jī)制,提高了性能[9]。 在開發(fā)圖書館借閱管理系統(tǒng)的過程中,應(yīng)用Myeclipse,它可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序效勞器的整合方面極大的提高工作效率。Myeclipse是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL[10]。 WEB效勞器和數(shù)據(jù)庫 在系統(tǒng)的開發(fā)過程中使用的Web應(yīng)用效勞器是Tomca
45、t,是Apache 軟件基金會(huì)〔Apache Software Foundation〕的Jakarta 工程中的一個(gè)核心工程,由Apache、SUN和其他一些公司及個(gè)人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 標(biāo)準(zhǔn)總是能在Tomcat 中得到表達(dá)。Tomcat是一個(gè)小型的輕量級(jí)應(yīng)用效勞器,它運(yùn)行時(shí)占用的系統(tǒng)資源小、擴(kuò)展性好、支持負(fù)載平衡和郵件效勞等開發(fā)應(yīng)用系統(tǒng)常用的功能,因此在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的時(shí)候,經(jīng)常被使用[11]。 使用MySQL作為數(shù)據(jù)庫開發(fā)工具。MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在202
46、1年1月16號(hào)被Sun公司收購。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有本錢低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有本錢而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫[11]。 為了開發(fā)的便捷快速,使用struts第三方插件。Struts是一個(gè)全新的MVC框架,實(shí)在WebWork根底上開展起來的[12]。 開發(fā)系統(tǒng)用的系統(tǒng)工具如表所示: 表4.1 系統(tǒng)開發(fā)平臺(tái)和工具 工具名稱 用途 JDK _11 MyEclipse S Java 開發(fā)工具包 J2EE集成開發(fā)環(huán)境 小型關(guān)系數(shù)據(jù)庫管理系統(tǒng) My
47、SQL圖形化數(shù)據(jù)庫管理工具 Web應(yīng)用效勞器 第三方插件,可擴(kuò)展的Java EE Web框架 程序設(shè)計(jì) 程序設(shè)計(jì)概述 在設(shè)計(jì)的Web層應(yīng)用了著名的MVC模式,V有JSP來實(shí)現(xiàn),為了業(yè)務(wù)邏輯和表示的別離.它是基于Web應(yīng)用系統(tǒng),它的客戶端使用Broswer,然后是Web層的應(yīng)用,業(yè)務(wù)邏輯層(有EJB實(shí)現(xiàn)),資源管理層。客戶請(qǐng)求瀏覽頁面,一般Web層的View有JSP組成,并且使用了大量Taglib。把每個(gè)請(qǐng)求映射到某個(gè)HTMLAction類來響應(yīng)它。HTML Action類是一個(gè)標(biāo)準(zhǔn)的類,執(zhí)行選擇的HTML Action。使用MVC模式減少了代碼的復(fù)制,即減少了代碼的維護(hù),由于模型
48、返回的格式不帶任何顯示格式,因而模型可以直接應(yīng)用于接口的使用,還因?yàn)镸VC模型把不同的模型和不同的視圖組合在一起完成不同的請(qǐng)求,因此,控制層可以說包含了用戶請(qǐng)求權(quán)限的概念[13]。 在設(shè)計(jì)中還因應(yīng)用了Struts框架,Struts跟Tomcat、Turbine等諸多Apache工程一樣,是開源軟件,這是它的一大優(yōu)點(diǎn)。使開發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制[11]。 除此之外,Struts的優(yōu)點(diǎn)主要集中表達(dá)在Taglib和頁面導(dǎo)航。Taglib是Struts的標(biāo)記庫,靈活動(dòng)用,能大大提高開發(fā)效率。頁面導(dǎo)航使系統(tǒng)的脈絡(luò)更加清晰。通過一個(gè)配置文件,即可把握整個(gè)系統(tǒng)各局部之間的聯(lián)系,這對(duì)于后期的維
49、護(hù)有著莫大的好處[11]。 數(shù)據(jù)庫與Web效勞器的連接 數(shù)據(jù)庫連接時(shí)采用連接池技術(shù)鏈接SQL,具體代碼實(shí)現(xiàn)如下: package com.ljj.dao; import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.ljj.m
50、odel.BookInfo; import com.ljj.model.BookType; import com.ljj.model.Operator; import com.ljj.model.Reader; import com.ljj.model.User; public class Dao { protected static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; protected static String dbUrl = "jdbc:sqlserver:/
51、/localhost:1433;" + "DatabaseName=db_library;SelectMethod=Cursor"; protected static String dbUser = "sa"; protected static String dbPwd = "zhangyong"; protected static String second = null; private static Connection conn = null; //創(chuàng)立數(shù)據(jù)庫連接 private Dao() { try { if (conn == null
52、) { Class.forName(dbClassName).newInstance(); conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd); System.out.println("數(shù)據(jù)庫連接成功!"); } else return; } catch (Exception ee) { ee.printStackTrace(); } } //執(zhí)行查詢 private static ResultSet executeQuery(String sql
53、) { try { if(conn==null) new Dao(); return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); return null; } finally { } } //執(zhí)行更新 private static int executeUpdate(Str
54、ing sql) { try { if(conn==null) new Dao(); return conn.createStatement().executeUpdate(sql); } catch (SQLException e) { System.out.println(e.getMessage()); //if(e.getMessage().equals("[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]DELETE 語句與 COLUMN REFERENCE 約束
55、'FK_TB_BORRO_REFERENCE_TB_BOOKI' 沖突。該沖突發(fā)生于數(shù)據(jù)庫 'db_library',表 'tb_borrow', column 'bookISBN'。")) return -1; } finally { } } //關(guān)閉數(shù)據(jù)庫 public static void close() { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); }finally{ conn = null; } }
56、 /* * 管理員登錄方法 */ public static Operator check(String name, String password) { int i = 0; Operator operater=new Operator(); String sql = "select * from tb_operator where name='" + name + "' and password='" + password + "'and admin=1"; ResultSet rs = Dao.executeQuery(sql);
57、 try { while (rs.next()) { String names = rs.getString(1); operater.setId(rs.getString("id")); operater.setName(rs.getString("name")); operater.setGrade(rs.getString("admin")); operater.setPassword(rs.getString("password")); if (names != null) { i = 1;
58、 } } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return operater; } /* * 查詢類別方法 */ //查詢圖書目錄 public static List selectBookCategory() { List list=new ArrayList(); String sql = "select * from tb_bookType"; ResultSet rs = Dao.executeQuery(sql)
59、; try { while (rs.next()) { BookType bookType=new BookType(); bookType.setId(rs.getString("id")); bookType.setTypeName(rs.getString("typeName")); list.add(bookType); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } pu
60、blic static List selectBookCategory(String bookType) { List list=new ArrayList(); String sql = "select days from tb_bookType where typeName='"+bookType+"'"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { BookType type=new BookType(); type.setDays(rs.getStr
61、ing("days")); list.add(type); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } /* * 圖書類別表相關(guān)操作 * */ //插入圖書類型 public static int InsertBookType(String bookTypeName){ int i=0; try{ String sql="insert into tb_bookType(typ
62、eName) values('"+bookTypeName+"')"; i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } return i; } //更新圖書類別 public static int UpdatebookType(String id,String typeName){ int i=0; try{ String sql="update tb_bookType set typeName='"+typeName+"' where i
63、d='"+id+"'"; //System.out.println(sql); i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } //刪除圖書類別 public static int DelbookType(String id){ int i=0; try{ String sql="delete from tb_bookType where id='"+id+"'"; /
64、/System.out.println(sql); i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } /* * 圖書信息表相關(guān)操作 */ /* * 插入圖書信息方法 */ //插入圖書信息 public static int Insertbook(String ISBN,String typeId,String bookname,String writer,String tr
65、anslator,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+")"; //System
66、.out.println(sql); i=Dao.executeUpdate(sql); }catch(Exception e){ System.out.println(e.getMessage()); } Dao.close(); return i; } /* * 查詢圖書相關(guān)信息 * */ public static List selectBookInfo() { List list=new ArrayList(); String sql = "select * from tb_bookInfo"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { BookInfo bookinfo=new BookInfo(); bookinfo.setISBN(rs.getString("ISBN")); bookinfo.setTypeid(rs.getString("typeid
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外研版(一起)英語一年級(jí)上冊(cè)Module-5課件
- 外研版(一起)五上Module-10《Unit-1-You-should-tidy-your課件
- 認(rèn)識(shí)線段課件
- 患者病情評(píng)估培訓(xùn)完整
- 早產(chǎn)兒的護(hù)理教學(xué)
- 我們吃的食物安全嗎
- 鹽酸硫酸—浙教版九級(jí)科學(xué)上冊(cè)課件1
- 人工智能遺傳算法
- 硬質(zhì)景觀的細(xì)部處理龍湖
- 人教版小學(xué)二年級(jí)上冊(cè)數(shù)學(xué)8的乘法口訣
- 郵輪旅游世界郵輪產(chǎn)業(yè)經(jīng)濟(jì)的發(fā)展
- 如何繪制出高品質(zhì)的學(xué)科思維導(dǎo)圖
- 美國癲癇學(xué)會(huì)驚厥性癲癇持續(xù)狀態(tài)治療指南解讀
- 城市公共空間設(shè)計(jì)理論及方法課件
- (課件)正弦定理公開課