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

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

免費(fèi)學(xué)習(xí)推薦:mysql視頻教程

Java圖書管理系統(tǒng)

項(xiàng)目需求

隨著計(jì)算機(jī)的普及和應(yīng)用水平的提高,經(jīng)過考察比較,決定利用自己的Java知識開發(fā)小型的圖書管理系統(tǒng),方便圖書的管理。
圖書管理系統(tǒng)是典型的信息管理系統(tǒng)。本次作業(yè)利用JAVA開發(fā)工具Eclipse和MySQL數(shù)據(jù)庫來開發(fā)這個圖書管理系統(tǒng)。該系統(tǒng)要解決的圖書管理所要解決的問題,可以滿足圖書管理基本要求,包括添加、管理等功能。該系統(tǒng)能根據(jù)用戶的需求,快捷方便的為讀者提供借閱服務(wù)
圖書管理系統(tǒng)應(yīng)有以下功能:

立即學(xué)習(xí)Java免費(fèi)學(xué)習(xí)筆記(深入)”;

  1. 讀者庫管理
  2. 書庫管理
  3. 借閱管理
  4. 讀者信息查詢

圖書管理系統(tǒng)主要針對書庫的操作功能、所以系統(tǒng)應(yīng)盡量滿足需求、同時亦不可有多余或繁復(fù)的功能、令系統(tǒng)的操作和功能混亂。

項(xiàng)目地址

本項(xiàng)目地址:https://github.com/wangyunpengbio/Library/
免費(fèi)下載方法:點(diǎn)那個“Clone or download”,再點(diǎn)“Download ZIP”就行了,感興趣的話,大家可以點(diǎn)個Star
如果實(shí)在太初學(xué)者,不會下載的話,就在csdn上下載吧https://download.csdn.net/download/qq_29300341/9667678

需求分析

A.業(yè)務(wù)流程:

No. 業(yè)務(wù)流程 需求
1. 圖書管理員登入系統(tǒng) 圖書管理員需使用賬號和密碼登入。
2. 新增讀者資料 新增讀者資料,如姓名、性別、職位等。
3. 新增書籍資料 新增書籍資料,如書名、價格、種類等。
4. 讀者庫管理 選中讀者庫里的讀者信息,即可更新和刪除。
5. 書庫管理 可以按“書編號查詢”和“書名模糊查詢”,繼而選中書籍信息,即可更新和刪除書籍分為在庫和借出
6 借閱管理 輸入讀者編號,即可檢閱讀者的數(shù)據(jù)和借閱的圖書,檢閱顧客的數(shù)據(jù)和購買紀(jì)錄。
7. 讀者登入系統(tǒng) 讀者需使用賬號和密碼登入。
8 借書 按書名模糊搜索,選中即可借閱圖書
9 還書 檢閱自己的讀者信息以及已經(jīng)借閱的圖書,點(diǎn)擊歸還即可,不允許更改或刪除讀者數(shù)據(jù),只允許查詢,更改和刪除功能由管理員負(fù)責(zé)。

以下是使用 實(shí)體聯(lián)系模型-Entity Relationship來分析。

B.歸納實(shí)體和屬性

No. 業(yè)務(wù)流程 對應(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í)體的模型

介紹基于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文件查看整個項(xiàng)目的注釋

Src包下面含有五個包

  • Database用于存儲數(shù)據(jù)庫連接操作
  • Frame用于存儲各個窗體界面
  • Model用于存儲各個實(shí)體(表)對應(yīng)的數(shù)據(jù)模型
  • Out_of_date用于存儲初始時候?qū)懙慕缑妫髞砩釛墸辉僬{(diào)用。
  • SqlTools用于存儲操作數(shù)據(jù)庫的增刪改查方法

image文件夾用于存放相關(guān)的界面圖片,按鈕圖片
備注:程序不同界面的入口已經(jīng)全部注釋掉了,MainFrame是程序的唯一入口

程序細(xì)節(jié)設(shè)計(jì):

  1. 登陸界面的密碼回顯,伴有跳轉(zhuǎn)動畫(此處利用了多線程,控制線程存活時間)
  2. 表格直接選中即可修改數(shù)據(jù),更新數(shù)據(jù)時候默認(rèn)有原始數(shù)據(jù),可按不同方式搜索圖書;
  3. 新增借閱信息時候,自動加入當(dāng)前時間,并計(jì)算歸還時間。(SQL函數(shù)NOW())
  4. 界面按鈕,背景用Photoshop的重新設(shè)計(jì),圖形用戶界面友好;
  5. 數(shù)據(jù)庫設(shè)計(jì)達(dá)到第三范式,去除了所有非主屬性對任何候選關(guān)鍵字的傳遞信依賴,冗余度低。
  6. 變量和方法命名符合規(guī)范,可讀性強(qiáng)
  7. 不同的Model實(shí)體(表)對應(yīng)不同的SqlTools操作,分開存放,程序復(fù)用性好,易擴(kuò)展。
    使用
  8. 將SQL語句導(dǎo)入,字符集選utf8,不然有可能顯示不了中文,數(shù)據(jù)庫名稱為library
    create database library;
  9. 推薦使用Mysql Front這個MySQL的前臺,支持多句sql語句一起執(zhí)行,百度第一個鏈接即可下載。
    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ū)動,源程序里database包里DatabaseTools.java文件是有關(guān)數(shù)據(jù)庫連接的操作源程序的用戶名和密碼皆為root,數(shù)據(jù)庫名為:library不同電腦上運(yùn)行需要稍微改一下這個代碼。
  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)行,連警告都不會出現(xiàn),1.7和1.6顯示效果不好。
    awt 和 swing 都依賴虛擬機(jī)的具體實(shí)現(xiàn)。所以不同平臺表現(xiàn)不大一樣。如果用javafx,界面才可以移植。
    而且編寫用的筆記本電腦是高分屏,在本機(jī)上顯示大小是正好的,到別的電腦上面有可能會出現(xiàn)界面過大的情況。
  13. 具體的文檔注釋已經(jīng)生成,打開doc文件夾其中的index文件查看整個項(xiàng)目的注釋
    介紹基于Java和MySQL的圖書管理系統(tǒng)

相關(guān)免費(fèi)學(xué)習(xí)推薦:mysql數(shù)據(jù)庫(視頻),java基礎(chǔ)教程

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊15 分享