您好,登錄后才能下訂單哦!
這篇文章主要介紹了基于Java和MySQL的圖書管理系統(tǒng)示例,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
Java圖書管理系統(tǒng)
項(xiàng)目需求
隨著計(jì)算機(jī)的普及和應(yīng)用水平的提高,經(jīng)過考察比較,決定利用自己的Java知識(shí)開發(fā)小型的圖書管理系統(tǒng),方便圖書的管理。
圖書管理系統(tǒng)是典型的信息管理系統(tǒng)。本次作業(yè)利用JAVA開發(fā)工具Eclipse和MySQL數(shù)據(jù)庫來開發(fā)這個(gè)圖書管理系統(tǒng)。該系統(tǒng)要解決的圖書管理所要解決的問題,可以滿足圖書管理基本要求,包括添加、管理等功能。該系統(tǒng)能根據(jù)用戶的需求,快捷方便的為讀者提供借閱服務(wù)
圖書管理系統(tǒng)應(yīng)有以下功能:
讀者庫管理
書庫管理
借閱管理
讀者信息查詢
圖書管理系統(tǒng)主要針對(duì)書庫的操作功能、所以系統(tǒng)應(yīng)盡量滿足需求、同時(shí)亦不可有多余或繁復(fù)的功能、令系統(tǒng)的操作和功能混亂。
項(xiàng)目地址
本項(xiàng)目地址:https://github.com/wangyunpengbio/Library/
免費(fèi)下載方法:點(diǎn)那個(gè)“Clone or download”,再點(diǎn)“Download ZIP”就行了,感興趣的話,大家可以點(diǎn)個(gè)Star
如果實(shí)在太初學(xué)者,不會(huì)下載的話,就在csdn上下載吧https://download.csdn.net/download/qq_29300341/9667678
需求分析
A.業(yè)務(wù)流程:
No. | 業(yè)務(wù)流程 | 需求 |
---|---|---|
1. | 圖書管理員登入系統(tǒng) | 圖書管理員需使用賬號(hào)和密碼登入。 |
2. | 新增讀者資料 | 新增讀者資料,如姓名、性別、職位等。 |
3. | 新增書籍資料 | 新增書籍資料,如書名、價(jià)格、種類等。 |
4. | 讀者庫管理 | 選中讀者庫里的讀者信息,即可更新和刪除。 |
5. | 書庫管理 | 可以按“書編號(hào)查詢”和“書名模糊查詢”,繼而選中書籍信息,即可更新和刪除書籍分為在庫和借出 |
6 | 借閱管理 | 輸入讀者編號(hào),即可檢閱讀者的數(shù)據(jù)和借閱的圖書,檢閱顧客的數(shù)據(jù)和購買紀(jì)錄。 |
7. | 讀者登入系統(tǒng) | 讀者需使用賬號(hào)和密碼登入。 |
8 | 借書 | 按書名模糊搜索,選中即可借閱圖書 |
9 | 還書 | 檢閱自己的讀者信息以及已經(jīng)借閱的圖書,點(diǎn)擊歸還即可,不允許更改或刪除讀者數(shù)據(jù),只允許查詢,更改和刪除功能由管理員負(fù)責(zé)。 |
以下是使用 實(shí)體聯(lián)系模型-Entity Relationship來分析。
B.歸納實(shí)體和屬性
No. | 業(yè)務(wù)流程 | 對(duì)應(yīng)的實(shí)體 | 實(shí)體的屬性值 |
---|---|---|---|
1. | 圖書管理員登入系統(tǒng) | Librarian | nameUser password |
2. | 新增讀者資料 | Reader | idReader nameReader kind sex password |
3. | 新增書籍資料 | Book Author Publisher | idBook,nameBook,price,kind,author,publisher Author.name, Author.workplace Publisher.name, Publisher.address |
4. | 讀者庫管理 | Reader | idReader nameReader kind sex password |
5. | 書庫管理 | Book | idBook nameBook price kind autor publisher |
6. | 借閱管理 | Borrow | idReader idBook lendDate dueDate overtime |
7. | 讀者登入系統(tǒng) | Reader | idReader password |
8 | 借書 | Borrow | idReader idBook lendDate dueDate overtime |
9 | 還書 | Borrow | idReader idBook lendDate dueDate overtime |
C.實(shí)體的模型
D.ER-實(shí)體關(guān)系
Author,Publisher To Book&Borrow&Reader To Librarian
設(shè)計(jì)
項(xiàng)目文件夾中,(代碼總計(jì):4800+行)
doc文件夾存放著生成的文檔注釋,可點(diǎn)擊其中的index文件查看整個(gè)項(xiàng)目的注釋
Src包下面含有五個(gè)包
Database用于存儲(chǔ)數(shù)據(jù)庫連接操作
Frame用于存儲(chǔ)各個(gè)窗體界面
Model用于存儲(chǔ)各個(gè)實(shí)體(表)對(duì)應(yīng)的數(shù)據(jù)模型
Out_of_date用于存儲(chǔ)初始時(shí)候?qū)懙慕缑?,后來舍棄,不再調(diào)用。
SqlTools用于存儲(chǔ)操作數(shù)據(jù)庫的增刪改查方法
image文件夾用于存放相關(guān)的界面圖片,按鈕圖片
備注:程序不同界面的入口已經(jīng)全部注釋掉了,MainFrame是程序的唯一入口
程序細(xì)節(jié)設(shè)計(jì):
登陸界面的密碼回顯,伴有跳轉(zhuǎn)動(dòng)畫(此處利用了多線程,控制線程存活時(shí)間)
表格直接選中即可修改數(shù)據(jù),更新數(shù)據(jù)時(shí)候默認(rèn)有原始數(shù)據(jù),可按不同方式搜索圖書;
新增借閱信息時(shí)候,自動(dòng)加入當(dāng)前時(shí)間,并計(jì)算歸還時(shí)間。(SQL函數(shù)NOW())
界面按鈕,背景用Photoshop的重新設(shè)計(jì),圖形用戶界面友好;
數(shù)據(jù)庫設(shè)計(jì)達(dá)到第三范式,去除了所有非主屬性對(duì)任何候選關(guān)鍵字的傳遞信依賴,冗余度低。
變量和方法命名符合規(guī)范,可讀性強(qiáng)
不同的Model實(shí)體(表)對(duì)應(yīng)不同的SqlTools操作,分開存放,程序復(fù)用性好,易擴(kuò)展。
使用
將SQL語句導(dǎo)入,字符集選utf8,不然有可能顯示不了中文,數(shù)據(jù)庫名稱為librarycreate database library;
推薦使用Mysql Front這個(gè)MySQL的前臺(tái),支持多句sql語句一起執(zhí)行,百度第一個(gè)鏈接即可下載。
http://dlsw.baidu.com/sw-search-sp/soft/6c/17997/MySQL-Front_V5.3.4.214_Setup.1435658094.exe
Java環(huán)境中加入數(shù)據(jù)庫的驅(qū)動(dòng),源程序里database
包里DatabaseTools.java
文件是有關(guān)數(shù)據(jù)庫連接的操作,源程序的用戶名和密碼皆為root,數(shù)據(jù)庫名為:library不同電腦上運(yùn)行需要稍微改一下這個(gè)代碼。
登陸:
圖書管理員:用戶名root密碼 root或者wangyp密碼123456
**讀者:用戶名001密碼 root **(注:數(shù)據(jù)庫內(nèi)讀者的密碼初始值皆為root)
在不同計(jì)算機(jī)上Eclipse使用,可能需要重新建立Java類庫的路徑
本程序用1.8的jdk寫的,所以最好用1.8的jre。
代碼放在1.8下面運(yùn)行,連警告都不會(huì)出現(xiàn),1.7和1.6顯示效果不好。
awt 和 swing 都依賴虛擬機(jī)的具體實(shí)現(xiàn)。所以不同平臺(tái)表現(xiàn)不大一樣。如果用javafx,界面才可以移植。
而且編寫用的筆記本電腦是高分屏,在本機(jī)上顯示大小是正好的,到別的電腦上面有可能會(huì)出現(xiàn)界面過大的情況。
具體的文檔注釋已經(jīng)生成,打開doc文件夾其中的index文件查看整個(gè)項(xiàng)目的注釋
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“基于Java和MySQL的圖書管理系統(tǒng)示例”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。