溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

基于Java和MySQL的圖書管理系統(tǒng)示例

發(fā)布時(shí)間:2021-01-21 11:35:35 來源:億速云 閱讀:1151 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹了基于Java和MySQL的圖書管理系統(tǒng)示例,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

基于Java和MySQL的圖書管理系統(tǒng)示例

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)有以下功能:

  1. 讀者庫管理

  2. 書庫管理

  3. 借閱管理

  4. 讀者信息查詢

圖書管理系統(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)LibrariannameUser password
2.新增讀者資料ReaderidReader nameReader kind sex password
3.新增書籍資料Book Author PublisheridBook,nameBook,price,kind,author,publisher Author.name, Author.workplace Publisher.name, Publisher.address
4.讀者庫管理ReaderidReader nameReader kind sex password
5.書庫管理BookidBook nameBook price kind autor publisher
6.借閱管理BorrowidReader idBook lendDate dueDate overtime
7.讀者登入系統(tǒng)ReaderidReader password
8借書BorrowidReader idBook lendDate dueDate overtime
9還書BorrowidReader idBook lendDate dueDate overtime

C.實(shí)體的模型

基于Java和MySQL的圖書管理系統(tǒng)示例

D.ER-實(shí)體關(guān)系

Author,Publisher To Book&Borrow&Reader To Librarian
基于Java和MySQL的圖書管理系統(tǒng)示例

設(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ì):

  1. 登陸界面的密碼回顯,伴有跳轉(zhuǎn)動(dòng)畫(此處利用了多線程,控制線程存活時(shí)間)

  2. 表格直接選中即可修改數(shù)據(jù),更新數(shù)據(jù)時(shí)候默認(rèn)有原始數(shù)據(jù),可按不同方式搜索圖書;

  3. 新增借閱信息時(shí)候,自動(dòng)加入當(dāng)前時(shí)間,并計(jì)算歸還時(shí)間。(SQL函數(shù)NOW())

  4. 界面按鈕,背景用Photoshop的重新設(shè)計(jì),圖形用戶界面友好;

  5. 數(shù)據(jù)庫設(shè)計(jì)達(dá)到第三范式,去除了所有非主屬性對(duì)任何候選關(guān)鍵字的傳遞信依賴,冗余度低。

  6. 變量和方法命名符合規(guī)范,可讀性強(qiáng)

  7. 不同的Model實(shí)體(表)對(duì)應(yīng)不同的SqlTools操作,分開存放,程序復(fù)用性好,易擴(kuò)展。
    使用

  8. 將SQL語句導(dǎo)入,字符集選utf8,不然有可能顯示不了中文,數(shù)據(jù)庫名稱為library
    create database library;

  9. 推薦使用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

  10. Java環(huán)境中加入數(shù)據(jù)庫的驅(qū)動(dòng),源程序里database包里DatabaseTools.java文件是有關(guān)數(shù)據(jù)庫連接的操作,源程序的用戶名和密碼皆為root,數(shù)據(jù)庫名為:library不同電腦上運(yùn)行需要稍微改一下這個(gè)代碼。

  11. 登陸:
    圖書管理員:用戶名root密碼 root或者wangyp密碼123456
    **讀者:用戶名001密碼 root **(注:數(shù)據(jù)庫內(nèi)讀者的密碼初始值皆為root)

  12. 在不同計(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)界面過大的情況。

  13. 具體的文檔注釋已經(jīng)生成,打開doc文件夾其中的index文件查看整個(gè)項(xiàng)目的注釋
    基于Java和MySQL的圖書管理系統(tǒng)示例

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“基于Java和MySQL的圖書管理系統(tǒng)示例”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(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)容。

AI