2858.A基于web的圖書管理系統(tǒng)(JAVA+SQL)畢業(yè)設(shè)計_第1頁
2858.A基于web的圖書管理系統(tǒng)(JAVA+SQL)畢業(yè)設(shè)計_第2頁
2858.A基于web的圖書管理系統(tǒng)(JAVA+SQL)畢業(yè)設(shè)計_第3頁
2858.A基于web的圖書管理系統(tǒng)(JAVA+SQL)畢業(yè)設(shè)計_第4頁
2858.A基于web的圖書管理系統(tǒng)(JAVA+SQL)畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩108頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、詳細(xì)源代碼及數(shù)據(jù)庫請聯(lián)系本人 畢業(yè)設(shè)計報告 題 目: 基于web圖書管理系統(tǒng)系 別: 專業(yè)班級: 姓 名:學(xué) 號:指導(dǎo)教師: 年 月 日摘要當(dāng)今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對于復(fù)雜的信息管理,計算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書館信息而設(shè)計的。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)

2、的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時間的天數(shù))的統(tǒng)計和核實等往往采用對借書卡的人工檢查進(jìn)行,對借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改。圖書館采

3、取手工方式對圖書借閱情況進(jìn)行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當(dāng)時對它比較清楚,時間一長,如再要進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費時、費力。如要對很長時間以前的圖書進(jìn)行更改就更加困難了?;谶@些問題,我認(rèn)為有必要建立一個圖書管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時、準(zhǔn)確、有效的查詢和修改圖書情況。關(guān)鍵字:圖書管理系統(tǒng),圖書管理系統(tǒng)的實現(xiàn),數(shù)據(jù)庫abstractthe present era is

4、 the rapid development of the information age. in all walks of life can not be separated from information processing, which is widely used in computer information management system environment. the greatest advantage the computer is able to use its information management. control the use of computer

5、s for information, not only improve the work efficiency, but also greatly improved its security.especially for complex information management, computer can give full play to its advantage. computer information management and information management system is closely related to system development is a

6、 prerequisite for system management. the system is to manage the design of library information. library as a distribution center for information resources, books and many users to borrow materials, including a lot of information and data management, today, there are many libraries are initially star

7、ted, not even the use of computer information management. according to the survey that they had previously on the main form of information management is based on the text, tables, etc. to deal with the previous manual, for books to borrow (for example, the number of days library, library time exceed

8、s the allotted number of days) and verification, such as statistics are often used library card to carry out manual inspections of the lending authority to borrow and borrow, such as artificial days, the manual for. data processing work load is heavy, prone to error; as a result of the data range, e

9、asily lost, and not easy to find. overall, the lack of a systematic, standardized means of information management. while some libraries have computers, but has not yet been used for information management, and its effect does not play, the more prominent of idle resources, which is management inform

10、ation system developed by the basic environment. manual data processing, the workload and high error rate, not easy to change mistakes. manually take the library to borrow books manually manage the situation, as more information, books to borrow the management of information confusing and complicate

11、d; general lending are recorded in the library card, the number of books and the content recorded in the document library staff and administrators at the time it is only more clearly, over time, such as to carry out further inquiries, many have read the information, find the resulting query time-con

12、suming, laborious. such as a long time ago to make changes to the book is even more difficult. because of these problems, i think it is necessary to establish a library management system, so that the work of library management standardization and systematization, procedures, and to avoid arbitrary l

13、ibrary management to improve the information processing speed and accuracy of timely, accurate and effective inquiry and revision of the book case.keywords: library management system, library management system, databas目錄第一章 緒論31.1目的31.2范圍31.3總體概括41.4可行性研究的前提41.4.1項目基本要求41.4.2可行性研究方法51.4.3決定可行性的主要因素5

14、1.4.3可行性分析報告51.5采用建議系統(tǒng)可能帶來的影響51.6社會因素可行性分析61.6.1法律因素61.6.2用戶使用可行性61.6.3系統(tǒng)存在的不足71.7數(shù)據(jù)庫71.7.1sql基礎(chǔ)71.7.2sql語句81.8應(yīng)用技術(shù)以及開發(fā)工具的介紹111.8.1struts:121.8.2hibernate:181.8.3eclipse:221.8.4jdk:231.8.5tomcat:251.8.6mysql:251.8.7md5加密技術(shù):291.9需求信息的整理321.9.1對現(xiàn)有系統(tǒng)的分析321.9.2對所建議系統(tǒng)的分析331.10總結(jié)36第二章 系統(tǒng)需求分析362.1軟件概述362.1

15、.1介紹362.2用戶特征392.3項目背景392.4一般性約束402.5假定的依據(jù)402.5具體需求412.5.1功能需求412.5.2性能需求412.5.3安全性需求422.5.4軟件質(zhì)量屬性422.5.5技術(shù)方面432.5.6系統(tǒng)功能分析432.5.7應(yīng)用需求分析432.6數(shù)據(jù)庫需求442.6.1用戶數(shù)據(jù)442.6.2元數(shù)據(jù)452.6.3索引452.6.4應(yīng)用元數(shù)據(jù)462.6.5數(shù)據(jù)庫管理系統(tǒng)462.6.6創(chuàng)建數(shù)據(jù)庫472.6.7數(shù)據(jù)庫理論基礎(chǔ)472.7系統(tǒng)數(shù)據(jù)庫設(shè)計512.7.1概念設(shè)計512.7.2關(guān)系數(shù)據(jù)庫的邏輯設(shè)計522.7.3數(shù)據(jù)庫的實現(xiàn)532.8系統(tǒng)特色61第三章、系統(tǒng)概要設(shè)

16、計623.1系統(tǒng)總體設(shè)計623.2系統(tǒng)流程633.3概念設(shè)計653.4用例設(shè)計663.5概要設(shè)計說明書663.5.1前言673.5.2概要設(shè)計說明書683.5.6數(shù)據(jù)模塊窗體的設(shè)置68第四章、系統(tǒng)詳細(xì)設(shè)計744.1登錄模塊744.1.1頁面744.1.2功能744.2用戶信息管理764.2.1查詢用戶信息764.2.2添加用戶信息774.3圖書信息管理784.3.1查詢圖書信息784.3.2增加圖書信息804.4借閱信息管理814.4.1查詢借閱信息814.5讀者信息管理834.5.1查詢讀者信息834.5.2添加讀者信息844.6歷史操作信息管理854.6.1查詢歷史操作信息854.7數(shù)據(jù)約

17、束864.8javascript驗證腳本:89第五章、系統(tǒng)測試955.1確認(rèn)測試計劃955.2集成測試計劃955.3單元測試計劃955.4單元測試報告955.5集成測試報告965.6確認(rèn)測試報告97第六章、用戶手冊996.1引言996.1.1編寫目的996.1.2背景996.1.3參考資料996.2用途1006.2.1功能1006.2.2性能1006.2.3安全保密1016.3運行環(huán)境1016.3.1硬設(shè)備1016.3.2支持軟件101第七章、結(jié)論102第八章、英文資料104第九章、參考文獻(xiàn)107第一章 緒論1.1目的隨著科學(xué)技術(shù)的發(fā)展,計算機(jī)技術(shù)在圖書館得到廣泛的應(yīng)用,各式各樣的自動化管理應(yīng)

18、用系統(tǒng),在各種不同性質(zhì)、不同類型、不同規(guī)模的圖書館中發(fā)揮著越來越重要的作用。如何利用計算機(jī)技術(shù)和網(wǎng)絡(luò)通訊技術(shù),對文獻(xiàn)信息資源進(jìn)行科學(xué)的管理、有效的開發(fā)、實現(xiàn)資源共享、實現(xiàn)圖書館的現(xiàn)代化管理,是圖書館工作的重要內(nèi)容之一。1.2范圍各學(xué)校圖書館,或供學(xué)習(xí)者使用1.3總體概括圖書管理系統(tǒng)是典型的信息管理系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。因此要求結(jié)合開入式圖書館的要求,對mysql數(shù)據(jù)庫管理系統(tǒng)、sql語言原理、完成對圖書管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)

19、據(jù)庫模式分析,并由此設(shè)計了數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序。1.4可行性研究的前提1.可行性研究方法: 通過調(diào)查分析開發(fā)人事工資管理所具備的能力及實現(xiàn)的方法。確定總體結(jié)構(gòu),利用sql server數(shù)據(jù)庫所具有的能力,以最簡潔最容易的方法,使用使其成為一個實用的系統(tǒng)軟件。2 .決定可行性的主要因素: 企業(yè)的規(guī)模、局域網(wǎng)設(shè)備狀況、操作人員技術(shù)、企業(yè)運做情況、企業(yè)內(nèi)部管理狀況、管理人員技術(shù)1.4.1項目基本要求完成系統(tǒng)的所有要求的功能,同時考慮到系統(tǒng)的易使用性、易維護(hù)性和易移植性a. 功能:本系統(tǒng)的主要完成員工工資的計算、人事的管理等具體功能如下:1、 以一定的方式瀏覽數(shù)據(jù)庫中的數(shù)據(jù)2、 按照一定的方式查詢數(shù)據(jù)

20、。3、 具有一定的統(tǒng)計功能。4、 對系統(tǒng)能夠進(jìn)行系統(tǒng)管理,如數(shù)據(jù)的備份還原等b. 性能:系統(tǒng)的速度快,能快速的對要求做出反映,同時具有很高的精度,系統(tǒng)合法,檢驗程度高。c. 輸出:根據(jù)需求對有寫報表可以打印輸出。d. 輸入:在各個模塊允許的字段要求范圍內(nèi)可以輸入你要查詢的。e. 安全與保密要求:項目的保密性能好,通過系統(tǒng)密碼驗證,數(shù)據(jù)庫密碼驗證和用戶權(quán)限的設(shè)置。f. 與軟件相關(guān)的其他系統(tǒng):項目體系結(jié)構(gòu)采用b/s模式,開發(fā)工具為myeclipse5.1,mysql, rational rose。g. 完成期限:本項目完成期限是2個月。1.4.2可行性研究方法1進(jìn)行客戶的調(diào)查,通過客戶的需求來選擇

21、系統(tǒng)實現(xiàn)的功能。2對有關(guān)專家進(jìn)行咨詢,提高系統(tǒng)的實用性和進(jìn)一步完善系統(tǒng)。3對相關(guān)同類的產(chǎn)品進(jìn)行市場調(diào)研1.4.3決定可行性的主要因素支付各項軟硬件資源,文本,通信費用等都在標(biāo)準(zhǔn)的用戶接受范圍中,沒有超過預(yù)算這樣的軟件可以被接受實行。同時軟件的開發(fā)時間的長短也是軟件能否被開發(fā)接受的一項評價標(biāo)準(zhǔn)。還有軟件的難易程度要適當(dāng),不能是小材大用也不能是所設(shè)計的軟件不能更好的滿足用戶的需求,要根據(jù)實際量身而定。1.4.3可行性分析報告可行性分析的最后成果是寫出可行性分析報告。可行性分析報告包括下列內(nèi)容:圖書館近期和長遠(yuǎn)目標(biāo),新系統(tǒng)的總體目標(biāo)及主要功能主要問題和主要信息需求 擬訂新系統(tǒng)方案從經(jīng)濟(jì)、技術(shù)、社會等

22、方面論證方法的可行性1.5采用建議系統(tǒng)可能帶來的影響(1)對設(shè)備的影響cpu: 賽揚4.0以上版本.內(nèi)存:128mb輸入輸出設(shè)備:顯示器,打印機(jī),鍵盤客戶機(jī):windows 2000/server/xp服務(wù)器:sql server 2000(3)對用戶的影響只需要用戶單位人員具有一般電腦操作水平即可使用,2人維護(hù)。可以節(jié)約開支,減少人員,降低出錯率??删S護(hù)性:本軟件的組成程序為java語言,結(jié)構(gòu)較簡單,直觀意義上較獨立,因此給予電子化的所構(gòu)成的硬件的簡單可維護(hù)的特點,決定了該軟件的簡單維護(hù)性. 可移植,可轉(zhuǎn)換,軟件可升級,可在不同操作系統(tǒng)中使用如linux,unix等系統(tǒng)而不影響本軟件的應(yīng)用.

23、保密性:本軟件為保證數(shù)據(jù)庫內(nèi)數(shù)據(jù)的安全,給不同的用戶級別賦予相應(yīng)的權(quán)限以便于用戶的管理(4)對系統(tǒng)運行的影響該系統(tǒng)可以在現(xiàn)有條件下正常運行的前提是必需采用:widows 2000/windows xp/server2003 的操作系統(tǒng),安裝所需要的軟件。(5)對開發(fā)環(huán)境的影響開發(fā)應(yīng)用本系統(tǒng)后,方便企業(yè)管理日常業(yè)務(wù),管理信息,庫存信息等。(6)對運行環(huán)境的影響環(huán)境要求一般,適當(dāng)調(diào)節(jié)即可。要保持室內(nèi)空氣干燥。數(shù)據(jù)保持定時更新。1.6社會因素可行性分析1.6.1法律因素系統(tǒng)地研制和開發(fā)都選用正版軟件,將不會侵犯他人。集體和國家利益,不會違反國家的政策和法律,可以放心使用。1.6.2用戶使用可行性由于

24、公司開發(fā)了圖書管理系統(tǒng),對圖書管理進(jìn)行相關(guān)的操作有了很大的提高,運行速度快,效率也有所提高,新系統(tǒng)界面友好,使用簡捷方便,能滿足用戶和管理員的使用要求。本軟件在操作方面全部與數(shù)據(jù)庫連接,操作一次到位。1.6.3系統(tǒng)存在的不足 由于時間和技術(shù)水平的緣故,本網(wǎng)站還存在著許多方面的工作尚未完善。網(wǎng)站對批量增加的驗證信息不是很完善,造成了操作人員錄入的錯誤數(shù)據(jù)和數(shù)據(jù)本身的錯誤所造成數(shù)據(jù)的不完整性,網(wǎng)站使用javascript對輸入的信息進(jìn)行約束和驗證,但還是有部分地方不是很完善。在網(wǎng)站的更進(jìn)一步的實現(xiàn)階段,應(yīng)加強(qiáng)數(shù)據(jù)的完整性約束提高系統(tǒng)數(shù)據(jù)的正確性和相容性,以及系統(tǒng)的容錯性,加強(qiáng)對用戶輸入端的數(shù)據(jù)進(jìn)行

25、檢驗。還需要進(jìn)一步地引入新的測量指標(biāo)進(jìn)行系統(tǒng)測試,從而使系統(tǒng)能夠更加完善符合用戶需求。1.7數(shù)據(jù)庫數(shù)據(jù)庫設(shè)計范式分析 建立起一個良好的數(shù)據(jù)指標(biāo)體系,是建立數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫的最重要的一環(huán)。一個良好的數(shù)據(jù)指標(biāo)體系是建立db的必要條件,但不是充分條件。我們完全可以認(rèn)為所建指標(biāo)體系中的一個指標(biāo)類就是關(guān)系數(shù)據(jù)庫中的一個基本表,而這個指標(biāo)類下面的一個個具體指標(biāo)就是這個基本表中的一個字段。但如果直接按照這種方式建庫顯然還不能算最佳。對于指標(biāo)體系中數(shù)據(jù)的結(jié)構(gòu)在建庫前還必須進(jìn)行規(guī)范化的重新組織。1.7.1sql基礎(chǔ)sql(structured query language,結(jié)構(gòu)查詢語言)是一個功能強(qiáng)大的數(shù)據(jù)庫語

26、言。sql通常使用于數(shù)據(jù)庫的通訊。ansi(美國國家標(biāo)準(zhǔn)學(xué)會)聲稱,sql是關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。sql語句通常用于完成一些數(shù)據(jù)庫的操作任務(wù),比如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)。使用sql的常見關(guān)系數(shù)據(jù)庫管理系統(tǒng)有:oracle、 sybase、 microsoft sql server、 access、 ingres等等。雖然絕大多數(shù)的數(shù)據(jù)庫系統(tǒng)使用sql,但是它們同樣有它們自立另外的專有擴(kuò)展功能用于它們的系統(tǒng)。但是,標(biāo)準(zhǔn)的sql命令,比如select、 insert、 update、 delete、 create和 drop常常被用于完成絕大多數(shù)數(shù)據(jù)庫的操作。ms sq

27、l server 就是用的transact- sql。sql語言有著非常突出的優(yōu)點,主要是:1. 非過程化語言2. 統(tǒng)一的語言3. 是所有關(guān)系數(shù)據(jù)庫的公共語言非過程化語言:sql是一個非過程化的語言,因為它一次處理一個記錄,對數(shù)據(jù)提供自動導(dǎo)航。sql允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對單個記錄進(jìn)行操作,可操作記錄集,所有sql 語句接受集合作為輸入,返回集合作為輸出。sql的集合特性允許一條sql語句的結(jié)果作為另一條sql語句的輸入。sql不要求用戶指定對數(shù)據(jù)的存放方法, 這種特性使用戶更易集中精力于要得到的結(jié)果;所有sql語句使用查詢優(yōu)化器,它是rdbms的一部分,由它決定對指定數(shù)據(jù)存取的

28、最快速度的手段,查詢優(yōu)化器知道存在什么索引,在哪兒使用索引合適,而用戶則從不需要知道表是否有索引、有什么類型的索引。統(tǒng)一的語言:sql可用于所有用戶的db活動模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、 應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。sql為許多任務(wù)提供了命令,其中包括:1.查詢數(shù)據(jù)2.在表中插入、修改和刪除記錄3.建立、修改和刪除數(shù)據(jù)對象 4.控制對數(shù)據(jù)和數(shù)據(jù)對象的存取5.保證數(shù)據(jù)庫一致性和完整性以前的數(shù)據(jù)庫管理系統(tǒng)為上述各類操作提供單獨的語言,而sql 將全部任務(wù)統(tǒng)一在一種語言中。所有關(guān)系數(shù)據(jù)庫的公共語言:由于所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持sql語言,用戶可將使用sql

29、的技能從一個rdbms(關(guān)系數(shù)據(jù)庫管理系統(tǒng))轉(zhuǎn)到另一個,所有用sql編寫的程序都是可以移植的。1.7.2sql語句sql功能強(qiáng)大,是一種完備的數(shù)據(jù)處理語言,不僅用于數(shù)據(jù)庫查詢,而且用于數(shù)據(jù)庫中的數(shù)據(jù)修改和更新,概括起來,它可以分成以下幾組:dml(data manipulation language,數(shù)據(jù)操作語言):用于檢索或者修改數(shù)據(jù); ddl(data definition language,數(shù)據(jù)定義語言): 用于定義數(shù)據(jù)的結(jié)構(gòu),比如 創(chuàng)建、修改或者刪除數(shù)據(jù)庫對象; dcl(data control language,數(shù)據(jù)控制語言):用于定義數(shù)據(jù)庫用戶的權(quán)限。dml組可以細(xì)分為以下的幾個語

30、句:select:用于檢索數(shù)據(jù);insert:用于增加數(shù)據(jù)到數(shù)據(jù)庫;update:用于從數(shù)據(jù)庫中修改現(xiàn)存的數(shù)據(jù);delete:用于從數(shù)據(jù)庫中刪除數(shù)據(jù)。ddl語句可以用于創(chuàng)建用戶和重建數(shù)據(jù)庫對象。下面是ddl命令:create table,alter table,drop table,create index,drop index下面是一個簡單sql語句的例子:我們使用sql語句來從book中檢索借書證號為000001的借閱者姓名:select 姓名 from book where 借書證號 = 00000 ddl與dml數(shù)據(jù)定義語言ddl:它是用來創(chuàng)建和修改數(shù)據(jù)庫結(jié)構(gòu)的一種語句

31、,包括 create、alter和drop 語句。 數(shù)據(jù)操作語言dml:包括數(shù)據(jù)查詢與數(shù)據(jù)更新。數(shù)據(jù)查詢主要是由select語句完成,這一點不再贅述。而數(shù)據(jù)更新所造成的風(fēng)險大大超過數(shù)據(jù)查詢。數(shù)據(jù)庫管理系統(tǒng)必須在更改期內(nèi)保護(hù)所存儲的數(shù)據(jù)的一致性,確保有效的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫,數(shù)據(jù)庫必須保持一致性,dbms還必須協(xié)調(diào)多用戶的并行更新,以確保用戶和它們的更改不至于影響其它用戶的作業(yè)。用于修改數(shù)據(jù)庫內(nèi)容的 sql 語句主要有以下三個: (1) insert,向一個表中加入新的數(shù)據(jù)行 (2) delete,從一個表中刪除數(shù)據(jù)行 (3) update,更改數(shù)據(jù)庫中已經(jīng)存在的數(shù)據(jù) insert標(biāo)準(zhǔn)語法: ins

32、ert into table_name (col1, col2.) values(value1, value2.)下例要將借書證號為000001作為一個新的借書情況加入借書情況表owner中 insert into owner (借書證號,圖書編號,借書日期) values (000001,00000001,2002-9-12)insert 語句還可以將多行數(shù)據(jù)添加到目標(biāo)表中去,在這種形式的 insert 語句中,新行的數(shù)據(jù)值不是在語句正文中明確地指定的,而是語句中指定的一個數(shù)據(jù)庫查詢。添加的值來自數(shù)據(jù)庫自身的行,在某些特定的狀態(tài)下,這是非常有用的。多行 insert 語句為拷貝數(shù)據(jù)提供了一種

33、緊湊而高效的方法,但我在自已做的圖書管理系統(tǒng)中沒有使用這種方法,我在系統(tǒng)中是使用循環(huán)依照上面的用法來完成多個記錄的插入。 update語句用于更新單表中選定行的一列或多列的值。要更新的目標(biāo)表在語句中定義,set子句則指定要更新哪些列并計算它們的值。update語句總是包含where語句,而且update語句比較危險,所以您必須明確地認(rèn)識到where語句的重要性,where語句被用來指定需要更新的行。標(biāo)準(zhǔn)語法:update table_nameset columnname1 = value1, columname2 = value2.where search_conditiondelete 語句

34、標(biāo)準(zhǔn)語法:delete from tablename where condition 復(fù)雜操作實現(xiàn)在信息管理系統(tǒng)中,我們往往會遇到歸類、匯總、映射、索引、子查詢等復(fù)雜操作,相應(yīng)的支持與實現(xiàn)如下:u group by方法group by子句語法為: select column1, sum(column2)from list-of-tablesgroup by column-list; 這個group by子句將集中所有的行在一起,它包含了指定列的數(shù)據(jù)以及允許合計函數(shù)來計算一個或者多個列。在本人的系統(tǒng)中在顯示數(shù)據(jù)時用到了此語句來對查詢所得的內(nèi)容排序然后再顯示。u 組合條件和布爾運算符

35、以下的sql語句中就含有組合條件:select column1, sum(column2)from list-of-tableswhere condition1 and condition2; 下面是一個示例:select 身份描述from id,userwhere id.身份編號=user.身份編號 and user.借書證號=000001; 這條sql語句是從user、id表中查找借閱證號為000001的借閱者的身份描述,第三條語句中如果其中有一個條件為假,那么就什么都沒有顯示。u union子句有些時候,需要一起瀏覽多個查詢的結(jié)果、組合它們的輸出,我們可以使用union關(guān)鍵字。1.8應(yīng)用

36、技術(shù)以及開發(fā)工具的介紹采用browser/server體系結(jié)構(gòu),服務(wù)器端采用運行最低配置要求(全部為中文環(huán)境) 操作系統(tǒng) windows 2000 adv server,windows 2000 server。使用的開發(fā)工具如下:struts1.2 hrbernate3.0eclipse5.1jdk1.5tomcat5mysql 1.5客戶端軟件,包括單機(jī)操作系統(tǒng)和瀏覽器軟件,分別選用windows 2000和internet explorer,數(shù)據(jù)庫系統(tǒng)采用microsoft access有利于方便操作。技術(shù)的詳細(xì)介紹如下:1.8.1struts:struts最早是作為apache jaka

37、rta項目的組成部分,項目的創(chuàng)立者希望通過對該項目的研究,改進(jìn)和提高javaserver pages 、servlet、標(biāo)簽庫以及面向?qū)ο蟮募夹g(shù)水準(zhǔn)。struts這個名字來源于在建筑和舊式飛機(jī)中使用的支持金屬架。這個框架之所以叫struts,是為了提醒我們記住那些支撐我們房屋,建筑,橋梁,甚至我們踩高蹺時候的基礎(chǔ)支撐。這也是一個解釋struts在開發(fā)web應(yīng)用程序中所扮演的角色的精彩描述。當(dāng)建立一個物理建筑時,建筑工程師使用支柱為建筑的每一層提供支持。同樣,軟件工程師使用struts為業(yè)務(wù)應(yīng)用的每一層提供支持。它的目的是為了幫助我們減少在運用mvc設(shè)計模型來開發(fā)web應(yīng)用的時間。我們?nèi)匀恍枰獙W(xué)

38、習(xí)和應(yīng)用該架構(gòu),不過它將可以完成其中一些繁重的工作。如果想混合使用servlets和jsp的優(yōu)點來建立可擴(kuò)展的應(yīng)用,struts是一個不錯的選擇。早期smalltalk 程序語言便采用了mvc(model-view -controller) 模式( patterns ) 以增加程序代碼彈性,mvc模式將程序代碼整理切割為三部份,model 部分是業(yè)務(wù)與應(yīng)用領(lǐng)域( business domain) 相關(guān)邏輯、管理狀態(tài)之對象,controller 部分接收來自view 所輸入的資料并與model 部分互動,是業(yè)務(wù)流程控制( flow control) 之處,view 部分則負(fù)責(zé)展現(xiàn)資料、接收使用者

39、輸入資料。在java 應(yīng)用中,jfc/swing、awt、jsp 皆是可用作view 之技術(shù)規(guī)格,而javabean 與enterprise javabean 規(guī)格則可用于model 程序代碼,一旦應(yīng)用程序以mvc 模式加以適當(dāng)之分割,model 部分程序代碼可在不同使用者接口外觀之應(yīng)用程序中重復(fù)使用。struts的目的是為了減少在運用mvc設(shè)計模型來開發(fā)web應(yīng)用的時間。你仍然需要學(xué)習(xí)和應(yīng)用該架構(gòu),不過它將可以完成其中一些繁重的工作。struts跟tomcat、turbine等諸多apache項目一樣,是開源軟件,這是它的一大優(yōu)點,使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機(jī)制。除此之外,struts

40、的優(yōu)點主要集中體現(xiàn)在兩個方面:taglib和頁面導(dǎo)航。taglib是struts的標(biāo)記庫,靈活運用,能大大提高開發(fā)效率。另外,就目前國內(nèi)的jsp開發(fā)者而言,除了使用jsp自帶的常用標(biāo)記外,很少開發(fā)自己的標(biāo)記,或許struts是一個很好的起點。關(guān)于頁面導(dǎo)航,我認(rèn)為那將是今后的一個發(fā)展方向,事實上,這樣做,使系統(tǒng)的脈絡(luò)更加清晰。通過一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護(hù)有著莫大的好處。尤其是當(dāng)另一批開發(fā)者接手這個項目時,這種優(yōu)勢體現(xiàn)得更加明顯。mvc即model-view-controller的縮寫,是一種常用的設(shè)計模式。mvc 減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,以

41、及讓視圖層更富于變化。struts 是mvc的一種實現(xiàn),它將 servlet和 jsp 標(biāo)記(屬于 j2ee 規(guī)范)用作實現(xiàn)的一部分。struts繼承了mvc的各項特性,并根據(jù)j2ee的特點,做了相應(yīng)的變化與擴(kuò)展。struts的流程服務(wù)器啟動后,根據(jù)web.xml加載actionservlet讀取struts-config.xml文件內(nèi)容到內(nèi)存。以登陸為例:第一次進(jìn)login.jsp會先實例化form、把默認(rèn)值賦給表單元素。輸入用戶名密碼提交表單、提交到action屬性的login.do,通過actionservlet讀struts-config.xml文件找到 action下的path屬性找

42、到.do,通過name屬性找form-beans中的form-bean的name屬性得到actionform的包名類名,先實例化form,把表單的值填充給form,調(diào)用form的validate方法驗證、actionerrors返回null表示驗證通過,否則失敗返回input指定的頁面.驗證通過會實例化action,執(zhí)行action的excute方法。 struts框架struts框架具有組件的模塊化,靈活性和重用性的優(yōu)點,同時簡化了基于mvc的web應(yīng)用程序的開發(fā)。 本章詳細(xì)討論struts架構(gòu)。我們將看到struts是如何清晰地區(qū)分控制,事務(wù)邏輯和外觀,從而簡化了開發(fā)應(yīng)用程序過程的。我們還

43、將介紹struts提供的類如何使得開發(fā)工作更加簡單,這些類包括: 控制程序流程的類 實現(xiàn)和執(zhí)行程序事務(wù)邏輯的類l 自定義的標(biāo)記庫使得創(chuàng)建和驗證html表單更加容易l 1 struts壓縮包內(nèi)容 文件夾jakarta-struts-1.0.2包含兩個目錄,lib和webapps。在lib目錄中有使用struts創(chuàng)建應(yīng)用程序是所需的文件: 文件 描述 jdbc2_0-stdext.jar 包含jdbc2.0 optional package api類。如果我們要使用struts提供的數(shù)據(jù)資源,就需要將這個文件拷貝到web-inflib下 struts.jar 包含struts中所有的java類。同

44、樣也需要拷貝到web-inflib下 *.tld 標(biāo)記庫描述器文件,描述了多個struts標(biāo)記庫中的自定義標(biāo)記。同樣要拷貝到web-inflib下 在webapps目錄下有如下文件: web應(yīng)用程序 描述 struts-blank.war 一個簡單的web應(yīng)用程序 struts-documentation.war 包含struts站點上所有struts文檔 struts-example.war struts很多特性的示范 struts-exercisetaglib.war 主要用于對自定義標(biāo)簽庫進(jìn)行增加而使用的測試頁,但也可以示范如何使用struts標(biāo)記 struts-template.war

45、 包含struts模板標(biāo)記的介紹和范例 struts-upload.war 一個簡單的例子,示范如何使用struts框架上傳文件 2.struts體系結(jié)構(gòu) 讓我們從mvc角度觀察struts框架中的組件 框架中三個部分:模型,視窗和控制器。 模型 在struts框架中,模型分為兩個部分: 系統(tǒng)的內(nèi)部狀態(tài)l 可以改變狀態(tài)的操作(事務(wù)邏輯)內(nèi)部狀態(tài)通常由一組actinform javabean表示。根據(jù)設(shè)計或應(yīng)用程序復(fù)雜度的不同,這些bean可以是自包含的并具有持續(xù)的狀態(tài),或只在需要時才獲得數(shù)據(jù)(從某個數(shù)據(jù)庫)。 大型應(yīng)用程序通常在方法內(nèi)部封裝事務(wù)邏輯(操作),這些方法可以被擁有狀態(tài)信息的bean

46、調(diào)用。比如購物車bean,它擁有用戶購買商品的信息,可能還有checkout()方法用來檢查用戶的信用卡,并向倉庫發(fā)定貨信息。 小型程序中,操作可能會被內(nèi)嵌在action類,它是struts框架中控制器角色的一部分。當(dāng)邏輯簡單時這個方法很適合。 建議用戶將事務(wù)邏輯(要做什么)與action類所扮演的角色(決定做什么)分開。 視窗 由jsp建立,struts包含擴(kuò)展自定義標(biāo)簽庫,可以簡化創(chuàng)建完全國際化用戶界面的過程。 控制器 struts中,基本的控制器組件是actionservlet類中的實例servelt,實際使用的servlet在配置文件中由一組映射(由actionmapping類進(jìn)行描述

47、)進(jìn)行定義。 3.struts框架中的組件 (由于rose工具還未能下載,只能找來這幅圖,它說明了一定問題,特別是actionerrors,但它并沒有將actionmapping,jsp和tag library包含進(jìn)來,有時間作完替換) 框架中所使用的組件: actionservlet 控制器 actionclass 包含事務(wù)邏輯 actionform 顯示模塊數(shù)據(jù) actionmapping 幫助控制器將請求映射到操作 actionforward 用來指示操作轉(zhuǎn)移的對象 actionerror 用來存儲和回收錯誤 struts標(biāo)記庫 可以減輕開發(fā)顯示層次的工作 下面我們看看各自在框架中所扮演

48、的角色和責(zé)任。 4 .struts配置文件 這是將struts組件結(jié)合在一起的東東:struts-config.xml。默認(rèn)值 web-infstruts-config.xml。配置文件可以定義: 全局轉(zhuǎn)發(fā) actionmapping類 幫助控制器將請求映射到操作 actionform bean 顯示模塊數(shù)據(jù) jdbc數(shù)據(jù)源 配置全局轉(zhuǎn)發(fā) 全局轉(zhuǎn)發(fā)用來在jsp頁之間創(chuàng)建邏輯名稱映射。轉(zhuǎn)發(fā)都可以通過對調(diào)用操作映射的實例來獲得,例如: actionmappinginstace.findforward(“l(fā)ogicalname”); 全局轉(zhuǎn)發(fā)的例子:(所有的例子我沒有進(jìn)行解釋,一是結(jié)合表可以理解,二

49、是例子大部分來自系列四的示例,你應(yīng)該在作完實驗后,再來看一遍) 屬性 描述 name 全局轉(zhuǎn)發(fā)的名字 path 與目標(biāo)url的相對路徑 配置actionmapping actionmapping對象幫助進(jìn)行框架內(nèi)部的流程控制,它們可將請求uri映射到action類,并且將action類與actionform bean相關(guān)聯(lián)。actionservlet在內(nèi)部使用這些映射,并將控制轉(zhuǎn)移到特定action類的實例。所有action類使用perform()方法實現(xiàn)特定應(yīng)用程序代碼,返回一個actionforward對象,其中包括響應(yīng)轉(zhuǎn)發(fā)的目標(biāo)資源名稱。例如: 5.屬性 描述 path action類的

50、相對路徑 name 與本操作關(guān)聯(lián)的action bean的名稱 type 連接到本映射的action類的全稱(可有包名) scope actionform bean的作用域(請求或會話) prefix 用來匹配請求參數(shù)與bean屬性的前綴 suffix 用來匹配請求參數(shù)與bean屬性的后綴 attribute 作用域名稱。 classname actionmapping對象的類的完全限定名默認(rèn)的類是org.apache.struts.action.actionmapping input 輸入表單的路徑,指向bean發(fā)生輸入錯誤必須返回的控制 unknown 設(shè)為true,操作將被作為所有沒有定

51、義的actionmapping的uri的默認(rèn)操作 validate 設(shè)置為true,則在調(diào)用action對象上的perform()方法前,actionservlet將調(diào)用actionform bean的validate()方法來進(jìn)行輸入檢查 通過元素,可以定義資源的邏輯名稱,該資源是action類的響應(yīng)要轉(zhuǎn)發(fā)的目標(biāo)。 屬性 描述 id id classname actionforward類的完全限定名,默認(rèn)是org.apache.struts.action.actionforward name 操作類訪問actionforward時所用的邏輯名 path 響應(yīng)轉(zhuǎn)發(fā)的目標(biāo)資源的路徑 redire

52、ct 若設(shè)置為true,則actionservlet使用sendredirect()方法來轉(zhuǎn)發(fā)資源 配置actionform bean: actionservlet使用actionform來保存請求的參數(shù),這些bean的屬性名稱與http請求參數(shù)中的名稱相對應(yīng),控制器將請求參數(shù)傳遞到actionform bean的實例,然后將這個實例傳送到action類。例子: 屬性 描述 id id classname actionform bean的完全限定名,默認(rèn)值是org.apache.struts.action.actionformbean name 表單bean在相關(guān)作用域的名稱,這個屬性用來將b

53、ean與actionmapping進(jìn)行關(guān)聯(lián) type 類的完全限定名 配置jdbc數(shù)據(jù)源 用元素可以定義多個數(shù)據(jù)源。 屬性 描述 id id key action類使用這個名稱來尋找連接 type 實現(xiàn)jdbc接口的類的名稱1.8.2hibernate:hibernate是一個開放源代碼的對象關(guān)系映射框架,它對jdbc進(jìn)行了非常輕量級的對象封裝,使得java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 hibernate可以應(yīng)用在任何使用jdbc的場合,既可以在java的客戶端程序使用,也可以在servlet/jsp的web應(yīng)用中使用,最具革命意義的是,hibernate可以在應(yīng)用ejb

54、的j2ee架構(gòu)中取代cmp,完成數(shù)據(jù)持久化的重任。hibernate的核心接口一共有5個,分別為:session、sessionfactory、transaction、query和configuration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對這五個核心接口分別加以介紹。session接口:session接口負(fù)責(zé)執(zhí)行被持久化對象的crud操作(crud的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的sql語句。)。但需要注意的是session對象是非線程安全的。同時,hibernate的session不同于jsp應(yīng)用中的http

55、session。這里當(dāng)使用session這個術(shù)語時,其實指的是hibernate中的session,而以后會將httpsesion對象稱為用戶session。sessionfactory接口:sessionfactroy接口負(fù)責(zé)初始化hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負(fù)責(zé)創(chuàng)建session對象。這里用到了工廠模式。需要注意的是sessionfactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個sessionfactory就夠,當(dāng)需要操作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個sessionfactory。configuration接口:configuration接口負(fù)責(zé)配置并啟動hibernate,創(chuàng)建sessionfacto

溫馨提示

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

評論

0/150

提交評論