第13章 綜合項(xiàng)目-黑馬書屋_第1頁
第13章 綜合項(xiàng)目-黑馬書屋_第2頁
第13章 綜合項(xiàng)目-黑馬書屋_第3頁
第13章 綜合項(xiàng)目-黑馬書屋_第4頁
第13章 綜合項(xiàng)目-黑馬書屋_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第13章綜合項(xiàng)目-黑馬項(xiàng)目《Java基礎(chǔ)案例教程》(第3版)學(xué)習(xí)目標(biāo)/Target掌握用戶注冊的實(shí)現(xiàn),能夠根據(jù)提供的用戶注冊FXML文件,實(shí)現(xiàn)用戶的注冊掌握用戶登錄的實(shí)現(xiàn),能夠根據(jù)提供的用戶登錄FXML文件,實(shí)現(xiàn)用戶的登錄掌握項(xiàng)目開發(fā)準(zhǔn)備,能夠基于提供的資料完成項(xiàng)目環(huán)境搭建學(xué)習(xí)目標(biāo)/Target掌握用戶管理的實(shí)現(xiàn),能夠根據(jù)提供的修改用戶信息FXML文件和修改密碼FXML文件,實(shí)現(xiàn)用戶信息的修改掌握登錄管理的實(shí)現(xiàn),能夠根據(jù)提供的菜單欄FXML文件實(shí)現(xiàn)退出登錄和退出系統(tǒng)兩個(gè)功能掌握圖書管理的實(shí)現(xiàn),能夠根據(jù)提供的圖書信息FXML文件和借閱記錄FXML文件,實(shí)現(xiàn)圖書信息管理和借閱記錄兩個(gè)功能章節(jié)概述/

Summary隨著計(jì)算機(jī)的普及和互聯(lián)網(wǎng)發(fā)展,越來越多的管理員將線下服務(wù)擴(kuò)展至線上,其中書店的線上自助借閱、歸還和圖書管理已成為當(dāng)下的常見需求。本章將講解的黑馬書屋是一個(gè)運(yùn)用Java相關(guān)基礎(chǔ)知識(shí)開發(fā)的書店業(yè)務(wù)管理系統(tǒng),通過這個(gè)系統(tǒng)可以加深讀者對Java基礎(chǔ)知識(shí)的理解,并了解Java項(xiàng)目的開發(fā)流程。目錄/Contents0102項(xiàng)目開發(fā)準(zhǔn)備用戶注冊03用戶登錄目錄/Contents0405圖書管理用戶管理06登錄管理項(xiàng)目開發(fā)準(zhǔn)備13.113.1項(xiàng)目開發(fā)準(zhǔn)備掌握項(xiàng)目開發(fā)準(zhǔn)備,能夠基于提供的資料完成項(xiàng)目環(huán)境搭建

先定一個(gè)小目標(biāo)!13.1.1項(xiàng)目概述隨著計(jì)算機(jī)和互聯(lián)網(wǎng)的發(fā)展,書店可以利用應(yīng)用程序?qū)崿F(xiàn)圖書線上管理,顧客也可以自助進(jìn)行圖書的借閱和歸還,從而使得書店管理人員能更加輕松和高效地進(jìn)行圖書管理操作。本章節(jié)講解的黑馬書屋是一個(gè)基于GUI實(shí)現(xiàn)的書店業(yè)務(wù)管理系統(tǒng),此系統(tǒng)專為滿足書店日常管理及顧客借閱和歸還需求而設(shè)計(jì)。13.1.1項(xiàng)目概述1.系統(tǒng)功能結(jié)構(gòu)13.1.1項(xiàng)目概述2.系統(tǒng)功能預(yù)覽系統(tǒng)包括管理員和顧客兩種角色,每種角色都具有相應(yīng)的操作權(quán)限和功能。其中,圖書管理、用戶管理、登錄管理需要用戶登錄后才可以操作,圖書管理會(huì)根據(jù)登錄用戶的角色提供對應(yīng)操作權(quán)限。13.1.1項(xiàng)目概述2.系統(tǒng)功能預(yù)覽(1)用戶登錄管理員和顧客進(jìn)入系統(tǒng)之前,都需要進(jìn)行登錄。本系統(tǒng)中管理員的信息是固定給出的,顧客的信息可以自行進(jìn)行注冊。管理員登錄時(shí)需要在登錄窗口選擇角色為管理員。13.1.1項(xiàng)目概述2.系統(tǒng)功能預(yù)覽(2)圖書管理用戶登錄系統(tǒng)后默認(rèn)顯示圖書管理中的圖書信息界面,其中管理員角色可以在圖書信息界面添加和修改圖書信息。13.1.1項(xiàng)目概述2.系統(tǒng)功能預(yù)覽(2)圖書管理顧客角色登錄后可以在圖書信息界面借閱和歸還圖書。13.1.1項(xiàng)目概述2.系統(tǒng)功能預(yù)覽(2)圖書管理圖書管理的借閱記錄界面可以查看圖書借閱記錄,其中管理員可以查看所有用戶的借閱記錄,顧客只能查看自己的借閱記錄。13.1.1項(xiàng)目概述2.系統(tǒng)功能預(yù)覽(3)用戶管理在用戶管理下可以對用戶的個(gè)人信息和密碼進(jìn)行修改,其中修改密碼之前需要輸入原始密碼進(jìn)行校驗(yàn)13.1.1項(xiàng)目概述2.系統(tǒng)功能預(yù)覽(4)登錄管理在登錄管理中可以退出當(dāng)前登錄和退出系統(tǒng)。13.1.1項(xiàng)目概述2.系統(tǒng)功能預(yù)覽(5)用戶注冊在用戶登錄界面中單擊“注冊”按鈕會(huì)跳轉(zhuǎn)到用戶注冊界面。13.1.2數(shù)據(jù)庫設(shè)計(jì)黑馬書屋中的實(shí)體主要包含用戶、圖書、借閱記錄,對此可以在數(shù)據(jù)庫中創(chuàng)建對應(yīng)的表存儲(chǔ)對應(yīng)的實(shí)體信息。結(jié)合系統(tǒng)描述中的信息設(shè)計(jì)用戶表、圖書信息表和借閱記錄表的表結(jié)構(gòu)。13.1.2數(shù)據(jù)庫設(shè)計(jì)(1)用戶表結(jié)構(gòu)表名(中文)表名(英文)用戶表user字段名類型長度是否主鍵說明idint0是用戶編號namevarchar32否用戶名稱passwordvarchar32否用戶密碼rolevarchar32否用戶角色:管理員,顧客13.1.2數(shù)據(jù)庫設(shè)計(jì)(2)圖書表結(jié)構(gòu)表名(中文)表名(英文)圖書表book字段名類型長度是否主鍵說明idint0是圖書編號booknamevarchar32否圖書名稱authorvarchar32否圖書作者statevarchar32否圖書狀態(tài):可借閱,借閱中,已下架desvarchar255否圖書簡介borrowervarchar32否圖書借閱人borrowtimedatetime0否圖書借閱時(shí)間13.1.2數(shù)據(jù)庫設(shè)計(jì)(2)借閱記錄表結(jié)構(gòu)表名(中文)表名(英文)借閱記錄表record字段名類型長度是否主鍵說明idint0是借閱記錄編號booknamevarchar32否借閱的圖書名稱borrowervarchar32否圖書借閱人borrowtimevarchar32否圖書借閱時(shí)間remandtimedatetime0否圖書歸還時(shí)間13.1.3項(xiàng)目環(huán)境搭建在正式開發(fā)功能模塊之前,需要先進(jìn)行項(xiàng)目環(huán)境的搭建。本系統(tǒng)的項(xiàng)目環(huán)境搭建包括確定項(xiàng)目開發(fā)環(huán)境、數(shù)據(jù)庫配置、配置文件設(shè)置等操作。13.1.3項(xiàng)目環(huán)境搭建1.確定項(xiàng)目開發(fā)環(huán)境操作系統(tǒng):Windows7及以上版本。Java開發(fā)包:JDK17。數(shù)據(jù)庫:MySQL8.0。開發(fā)工具:IntelliJIDEACommunityEdition2023.2.1。13.1.3項(xiàng)目環(huán)境搭建2.創(chuàng)建數(shù)據(jù)庫和表在MySQL數(shù)據(jù)庫中創(chuàng)建一個(gè)名稱為bookstore的數(shù)據(jù)庫,并根據(jù)設(shè)計(jì)的數(shù)據(jù)表結(jié)構(gòu)在bookstore數(shù)據(jù)庫中創(chuàng)建相應(yīng)的數(shù)據(jù)表。讀者也可以在本書提供的配套資源中獲取對應(yīng)的sql文件創(chuàng)建數(shù)據(jù)表,并往數(shù)據(jù)表中插入測試數(shù)據(jù)。13.1.3項(xiàng)目環(huán)境搭建3.創(chuàng)建項(xiàng)目為了提高程序的可維護(hù)性、可擴(kuò)展性和代碼結(jié)構(gòu)的清晰性,本項(xiàng)目將每個(gè)功能模塊劃分為表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層三部分進(jìn)行開發(fā)。表現(xiàn)層:表現(xiàn)層主要負(fù)責(zé)與用戶進(jìn)行交互的界面,包括接收用戶輸入的數(shù)據(jù)和展示處理后的數(shù)據(jù)。業(yè)務(wù)邏輯層:業(yè)務(wù)邏輯層主要處理用戶交互等業(yè)務(wù)邏輯,它作為表現(xiàn)層和數(shù)據(jù)訪問層之間的橋梁。數(shù)據(jù)訪問層:數(shù)據(jù)訪問層主要負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行交互,數(shù)據(jù)訪問層根據(jù)業(yè)務(wù)邏輯層發(fā)送過來的請求,操作數(shù)據(jù)庫中的數(shù)據(jù),并將操作數(shù)據(jù)庫的結(jié)果返回到業(yè)務(wù)邏輯層,實(shí)現(xiàn)對數(shù)據(jù)的增刪改查操作。13.1.3項(xiàng)目環(huán)境搭建3.創(chuàng)建項(xiàng)目為了更好地管理項(xiàng)目的代碼,除了表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,通常還需要建立實(shí)體類和工具類。實(shí)體類用于表示業(yè)務(wù)模型和數(shù)據(jù)對象,工具類則用于封裝一些通用的功能和操作。在IDEA中創(chuàng)建一個(gè)名稱為bookstore的項(xiàng)目,在項(xiàng)目中創(chuàng)建com.itheima.domain包用于存放項(xiàng)目的實(shí)體類,創(chuàng)建com.itheima.utils包用于存放項(xiàng)目的工具類。13.1.3項(xiàng)目環(huán)境搭建4.添加JAR包在項(xiàng)目的根目錄下創(chuàng)建一個(gè)名稱為lib的文件夾,用于存放項(xiàng)目中所需的JAR包。黑馬書屋使用JavaFX設(shè)計(jì)應(yīng)用的圖形界面,并將應(yīng)用的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中,對此程序中需要JavaFX、MySQL驅(qū)動(dòng)、數(shù)據(jù)庫連接等相關(guān)JAR包依賴。將項(xiàng)目所需JAR包放入lib文件夾后,選中l(wèi)ib文件夾右擊選擇“AddasLibrary……”將該文件夾內(nèi)的JAR包應(yīng)用到項(xiàng)目中。13.1.3項(xiàng)目環(huán)境搭建5.導(dǎo)入資源本書提供的資源中包含了黑馬書屋的圖形界面對應(yīng)的FXML文件、實(shí)體類、工具類、perties配置文件等資源,讀者只需將這些資源導(dǎo)入到bookstore項(xiàng)目對應(yīng)的包下即可。用戶注冊13.213.2用戶注冊掌握用戶注冊的實(shí)現(xiàn),能夠根據(jù)提供的用戶注冊FXML文件,實(shí)現(xiàn)顧客的注冊

先定一個(gè)小目標(biāo)!13.2用戶注冊用戶注冊需要實(shí)現(xiàn)返回登錄界面和用戶注冊兩個(gè)功能。用戶注冊的本質(zhì)是將顧客填寫的注冊信息保存到數(shù)據(jù)庫中,但在提交用戶注冊信息之前,為了確保信息的完整性和安全性需要對填寫的內(nèi)容進(jìn)行校驗(yàn)。13.2用戶注冊1.創(chuàng)建用戶注冊Controller類在com.itheima.controller包下創(chuàng)建RegisterController類,并在該類中定義與register.fxml文件綁定的組件和事件處理方法。2.創(chuàng)建用戶數(shù)據(jù)訪問類用戶注冊時(shí)用戶名是唯一的,對此在注冊時(shí)需要先查詢數(shù)據(jù)庫中是否存在對應(yīng)的用戶名。在com.itheima.dao包下創(chuàng)建用戶數(shù)據(jù)訪問類UserDao,在該類中定義根據(jù)用戶名查詢用戶信息的方法和注冊用戶的方法。13.2用戶注冊3.實(shí)現(xiàn)用戶注冊輸入信息校驗(yàn)為了確保提交的用戶注冊數(shù)據(jù)符合程序中的規(guī)則,需要在提交前對數(shù)據(jù)進(jìn)行校驗(yàn)。在RegisterController類中定義initFrame()方法,對用戶注冊的相關(guān)組件進(jìn)行監(jiān)聽和校驗(yàn)。4.實(shí)現(xiàn)用戶注冊用戶在注冊界面單擊“注冊”按鈕后,會(huì)執(zhí)行該組件上綁定的toRegister()方法。在RegisterController類中定義toRegister()方法實(shí)現(xiàn)用戶注冊。13.2用戶注冊5.實(shí)現(xiàn)返回用戶登錄界面在com.itheima.controller包下創(chuàng)建LoginController類,并在該類中定義與login.fxml文件綁定的組件和事件處理方法。返回用戶登錄界面,只需關(guān)閉用戶注冊界面并展示用戶登錄界面接口,無需額外事件綁定。在RegisterController類的toLoginPage()方法內(nèi)使用PaneUtils工具類加載并初始化用戶登錄界面。13.2用戶注冊6.創(chuàng)建程序啟動(dòng)類在com.itheima包下創(chuàng)建BookStoreApp類,使用該類繼承Application類,并在重寫的start()方法中加載register.fxml文件。接著在com.itheima包下創(chuàng)建一個(gè)主程序類MainApp,在該類的main()方法中啟動(dòng)JavaFX程序。13.2用戶注冊7.測試用戶注冊功能運(yùn)行文件MainApp.java,效果如下圖所示。13.2用戶注冊7.測試用戶注冊功能在用戶注冊界面依次單擊所有輸入框但不輸入任何內(nèi)容,觸發(fā)所有文本框的失去焦點(diǎn)事件,效果如右圖所示。13.2用戶注冊7.測試用戶注冊功能在用戶注冊界面中輸入符合要求用戶信息,例如用戶名為王五,密碼為123,手機(jī)號效果如右圖所示。13.2用戶注冊7.測試用戶注冊功能單擊“注冊”按鈕,效果如右圖所示。13.2用戶注冊7.測試用戶注冊功能單擊消息提示框的“確定”按鈕后,單擊“返回登錄”按鈕,效果如右圖所示。至此,用戶注冊界面的功能已全部完成。用戶登錄13.313.3用戶登錄掌握用戶登錄的實(shí)現(xiàn),能夠根據(jù)提供的用戶登錄FXML文件,實(shí)現(xiàn)用戶的登錄

先定一個(gè)小目標(biāo)!13.3用戶登錄為了防止系統(tǒng)信息泄漏,在使用登錄功能之外的其他功能之前,管理員和顧客都需要進(jìn)行登錄驗(yàn)證。當(dāng)管理員或顧客進(jìn)行登錄時(shí),系統(tǒng)要求輸入賬號、密碼和角色信息,并與數(shù)據(jù)庫中的記錄進(jìn)行比對,若匹配成功,則登錄成功;否則,登錄失敗。13.3用戶登錄1.修改用戶登錄初始化方法展示用戶登錄界面時(shí),其中的角色下拉框中并沒有任何選項(xiàng),這是因?yàn)楫?dāng)前LoginController的初始化方法initFrame()中并未做任何操作,對此需要在該方法內(nèi)添加初始化的角色數(shù)據(jù),具體代碼如下。2.定義用戶登錄方法在UserDao類中定義用戶登錄的方法,用于根據(jù)傳入的用戶信息查詢數(shù)據(jù)庫中對應(yīng)的用戶信息,具體如下所示。13.3用戶登錄3.實(shí)現(xiàn)跳轉(zhuǎn)至用戶注冊界面用戶在用戶登錄界面單擊“注冊”按鈕后,會(huì)執(zhí)行該組件上綁定的toRegisterPage()方法。對此需要在toRegisterPage()方法中實(shí)現(xiàn)關(guān)閉用戶登錄界面時(shí)打開用戶注冊界面。在LoginController類的toRegisterPage()實(shí)現(xiàn)跳轉(zhuǎn)至用戶注冊界面,具體如下所示。4.實(shí)現(xiàn)用戶登錄用戶在用戶登錄界面單擊“登錄”按鈕后,會(huì)執(zhí)行該組件上綁定的toLogin()方法。在LoginController類的toLogin()方法內(nèi)實(shí)現(xiàn)用戶登錄,具體代碼如下。13.3用戶登錄5.測試用戶登錄功能當(dāng)前程序啟動(dòng)時(shí),默認(rèn)會(huì)加載用戶注冊的界面,但是通常會(huì)將用戶登錄界面作為程序的初始界面,對此在BookStoreAPP類的start()方法內(nèi)修改程序啟動(dòng)加載的FXML文件,修改為程序啟動(dòng)時(shí)加載用戶登錄界面。13.3用戶登錄5.測試用戶登錄功能運(yùn)行文件BookStoreApp.java,效果如下圖所示。13.3用戶登錄5.測試用戶登錄功能在用戶登錄界面中不輸入用戶名和密碼,直接單擊“登錄”按鈕,效果如右圖所示。13.3用戶登錄5.測試用戶登錄功能在用戶登錄界面的輸入框中輸入注冊成功的用戶信息后,單擊“登錄”按鈕,效果如右圖所示。13.3用戶登錄5.測試用戶登錄功能在用戶登錄界面中單擊“注冊”按鈕,效果如右圖所示。圖書管理13.413.4.1圖書信息掌握圖書管理的實(shí)現(xiàn),能夠根據(jù)提供的圖書信息FXML文件文件,實(shí)現(xiàn)圖書信息的管理

先定一個(gè)小目標(biāo)!13.4.1圖書信息圖書信息用于查詢和修改圖書的相關(guān)信息,對于不同的用戶角色,系統(tǒng)提供了不同的操作權(quán)限。為此,在初始化界面時(shí),需要根據(jù)登錄用戶的角色,動(dòng)態(tài)加載不同的組件,以提供相應(yīng)的操作功能。13.4.1圖書信息管理員角色和顧客角色訪問圖書信息界面時(shí)都主要包含三個(gè)面板。(1)管理員圖書查詢面板:主要包含一個(gè)下拉框、一個(gè)文本框、一個(gè)按鈕,下拉框用于選擇需要查詢的圖書的狀態(tài),包含可借閱、借閱中、已下架三種選項(xiàng);單擊“查詢”按鈕時(shí),根據(jù)下拉框選中的圖書狀態(tài),以及文本框中輸入的圖書名稱在數(shù)據(jù)庫中查詢包含該圖書名稱的圖書信息。圖書列表面板:用于展示圖書查詢的結(jié)果,如果查詢的圖書的狀態(tài)為借閱中,則需要在表格中新增一列用于顯示當(dāng)前的借閱者。圖書添加\修改面板:用于輸入和選擇需要添加或修改的圖書信息,其中修改圖書時(shí),只能對查詢到圖書列表中的圖書信息進(jìn)行修改,當(dāng)選中圖書列表中的某行圖書信息時(shí),會(huì)自動(dòng)填充這些信息到面板對應(yīng)的輸入框和下拉框中。13.4.1圖書信息(2)顧客圖書查詢面板:與管理員展示的圖書查詢面板組件和功能一致,不同的是顧客角色查詢時(shí),圖書狀態(tài)下拉框中不包含已下架的選擇,只有可借閱和借閱中。圖書列表面板:同管理員角色一樣,用于展示圖書查詢的結(jié)果。圖書借閱\歸還面板:用于對可借閱的圖書進(jìn)行借閱,以及對本人已借閱的圖書進(jìn)行歸還。圖書借閱和歸還都需要先進(jìn)行圖書查詢,選擇圖書列表中的圖書信息后,會(huì)將該圖書的信息填充到面板對應(yīng)的輸入框和下拉框中,確認(rèn)無誤后再進(jìn)行借閱或歸還。13.4.1圖書信息創(chuàng)建菜單欄Controller為了實(shí)現(xiàn)從菜單欄進(jìn)入圖書管理等其他功能,需要?jiǎng)?chuàng)建與菜單欄FXML文件對應(yīng)的Controller。在com.itheima.controller包下創(chuàng)建MenuBarController類,并在該類中定義與menubar.fxml文件綁定的組件和事件處理方法。2.創(chuàng)建圖書信息Controller類在com.itheima.controller包下創(chuàng)建BookController類,并在該類中定義與bookManage.fxml文件綁定的組件和事件處理方法。13.4.1圖書信息3.創(chuàng)建圖書數(shù)據(jù)訪問類在com.itheima.dao包下創(chuàng)建BookDao類,用于對圖書進(jìn)行查詢、添加、修改操作。4.實(shí)現(xiàn)圖書查詢將圖書查詢的邏輯抽取到一個(gè)獨(dú)立的方法中,以實(shí)現(xiàn)代碼的復(fù)用。在BookController.java中定義toSeach()方法,用于具體根據(jù)當(dāng)前登錄用戶的角色和指定條件,進(jìn)行圖書信息查詢。并在界面初始化方法和查詢圖書方法中調(diào)用toSeach()方法,實(shí)現(xiàn)不同場景時(shí)的圖書查詢。13.4.1圖書信息5.實(shí)現(xiàn)圖書添加圖書添加只需將圖書添加\修改面板中的圖書信息傳遞到圖書數(shù)據(jù)訪問層保存即可,在BookController類的addBook()方法中實(shí)現(xiàn)圖書添加。6.實(shí)現(xiàn)圖書修改在BookController類的editBook()方法中實(shí)現(xiàn)圖書修改。13.4.1圖書信息7.實(shí)現(xiàn)圖書借閱圖書借閱只需將可借閱的圖書信息修改其狀態(tài)、借閱人和借閱時(shí)間,并保存在數(shù)據(jù)庫中即可。在BookController類的lendBook()方法中實(shí)現(xiàn)圖書借閱。8.實(shí)現(xiàn)圖書歸還(1)圖書歸還需要將圖書狀態(tài)修改回可借閱,借閱人和借閱時(shí)間為null,并在歸還成功后添加借閱記錄。在com.ithiem.dao包下創(chuàng)建圖書借閱數(shù)據(jù)訪問類RecordDao,在該類中定義addRecord()方法用于添加圖書借閱記錄的方法。(2)在BookController類的returnBook()方法中實(shí)現(xiàn)圖書歸還。13.4.1圖書信息9.測試圖書信息功能為了實(shí)現(xiàn)用戶登錄成功默認(rèn)展示圖書信息的界面,可以在LoginController類的toLogin()方法中將登錄成功的信息提示框替換為查詢圖書信息的代碼。13.4.1圖書信息9.測試圖書信息功能(1)管理員角色相關(guān)功能測試運(yùn)行MainApp.java文件后,使用管理員“黑馬”登錄系統(tǒng),登錄后的效果如右圖所示。13.4.1圖書信息9.測試圖書信息功能(1)管理員角色相關(guān)功能測試在圖書添加\修改面板中輸入需要添加的圖書信息,例如添加書名為“石頭記”,作者為“曹雪芹”,簡介為“展現(xiàn)了封建社會(huì)的種種虛偽和罪惡的古典長篇小說”,然后單擊“添加”按鈕,效果如右圖所示。13.4.1圖書信息9.測試圖書信息功能(1)管理員角色相關(guān)功能測試單擊“確定”按鈕后,將圖書查詢下拉框的狀態(tài)選中為借閱中,然后單擊“查詢”按鈕,查詢所有借閱中的圖書信息,效果如右圖所示。13.4.1圖書信息9.測試圖書信息功能(1)管理員角色相關(guān)功能測試下面測試圖書修改的效果,首先演示修改狀態(tài)為借閱中的圖書信息,以修改圖書“邊城”為例,先選中圖書列表中的“邊城”圖書信息,效果右圖所示。13.4.1圖書信息9.測試圖書信息功能(1)管理員角色相關(guān)功能測試下面修改借閱中的圖書信息,以修改圖書“石頭記”為例,選中列表中的“石頭記”后,將書名修改為“紅樓夢”,簡介修改為“以愛情悲劇為主線,揭示封建社會(huì)的種種弊病”,修改后單擊“修改”按鈕,效果如右圖所示。13.4.1圖書信息9.測試圖書信息功能(2)顧客角色相關(guān)功能測試運(yùn)行MainApp類后,使用顧客“張三”登錄系統(tǒng),登錄后效果如右圖所示。13.4.1圖書信息9.測試圖書信息功能(2)顧客角色相關(guān)功能測試對可借閱的圖書進(jìn)行借閱,例如借閱圖書“紅樓夢”,在圖書列表中單擊選中書名為紅樓夢的圖書信息,效果如右圖所示。13.4.1圖書信息9.測試圖書信息功能(2)顧客角色相關(guān)功能測試確認(rèn)需要借閱的圖書信息無誤后,單擊“借閱”按鈕,效果如右圖所示。13.4.1圖書信息9.測試圖書信息功能(2)顧客角色相關(guān)功能測試單擊“確定”按鈕后,在圖書查詢下拉框中選中“借閱中”的選項(xiàng)后,單擊“查詢”按鈕,查詢張三借閱中的圖書信息,效果如右圖所示。13.4.1圖書信息9.測試圖書信息功能(2)顧客角色相關(guān)功能測試顧客可以將自己借閱中的圖書進(jìn)行歸還,以歸還圍城為例,單擊選擇圖書列表中書名為圍城的圖書信息后,單擊“歸還”按鈕,效果如右圖所示。13.4.1圖書信息9.測試圖書信息功能(2)顧客角色相關(guān)功能測試再次查詢可借閱的圖書信息,效果如右圖所示。至此,圖書信息界面的功能已全部完成。13.4.2借閱記錄掌握借閱記錄的實(shí)現(xiàn),能夠根據(jù)提供的借閱記錄FXML文件,實(shí)現(xiàn)借閱記錄功能

先定一個(gè)小目標(biāo)!13.4.2借閱記錄借閱記錄指的是從借閱到歸還的完整借閱信息。借閱記錄功能由新增借閱記錄和查詢借閱記錄兩個(gè)部分組成。新增借閱記錄會(huì)在顧客成功歸還圖書時(shí)在數(shù)據(jù)庫新增;查詢借閱記錄指根據(jù)指定條件查詢數(shù)據(jù)庫中借閱記錄的功能。13.4.2借閱記錄1.創(chuàng)建借閱記錄Controller類在com.itheima.controller包下創(chuàng)建RecordController類,并在該類中定義與record.fxml文件綁定的組件和事件處理方法。由于借閱記錄只有查詢功能,對此界面初始化時(shí)需要自動(dòng)查詢借閱記錄,可以直接調(diào)用界面初始化方法。2.定義查詢借閱記錄方法在RecordDao類中定義查詢借閱記錄的方法,用于根據(jù)傳入圖書名稱和用戶信息查詢對應(yīng)的圖書借閱記錄。13.4.2借閱記錄3.實(shí)現(xiàn)借閱記錄功能(1)在RecordController類的initFrame()方法中實(shí)現(xiàn)借閱記錄的功能。(2)在MenuBarController類的showRecords()方法中指定加載借閱記錄對應(yīng)的FXML文件,并初始化借閱記錄界面,以實(shí)現(xiàn)單擊“借閱記錄”菜單項(xiàng)時(shí)關(guān)閉當(dāng)前窗口中的界面,并打開初始化后的借閱記錄界面。13.4.2借閱記錄4.測試借閱記錄功能運(yùn)行MainApp類后,使用管理員“黑馬”登錄系統(tǒng),登錄后在菜單欄中依次單擊“圖書管理”→“借閱記錄”,效果如右圖所示。13.4.2借閱記錄4.測試借閱記錄功能下面測試指定書名查詢借閱記錄的效果,例如在圖書借閱記錄頁面的文本框中輸入“Java”后,單擊“查詢”按鈕,效果如右圖所示。至此,借閱記錄界面的全部功能已經(jīng)完成。13.4.2借閱記錄4.測試借閱記錄功能下面接著演示顧客角色查詢借閱記錄的效果。重新運(yùn)行MainApp類后,使用管理員“張三”登錄系統(tǒng),登錄后在菜單欄中依次單擊“圖書管理”→“借閱記錄”,效果如右圖所示。用戶管理13.513.5.1修改用戶信息掌握用戶管理的實(shí)現(xiàn),能夠根據(jù)提供的修改用戶信息FXML文件實(shí)現(xiàn)用戶信息的修改

先定一個(gè)小目標(biāo)!13.5.1修改用戶信息用戶修改信息后,需要立即對修改的信息進(jìn)行校驗(yàn)。為了實(shí)現(xiàn)這一功能,可以監(jiān)聽需要校驗(yàn)的文本內(nèi)容,在單擊“修改”按鈕時(shí),再次對當(dāng)前個(gè)人信息進(jìn)行校驗(yàn)。只有當(dāng)符合要求時(shí),才將這些信息更新到數(shù)據(jù)庫中。13.5.1修改用戶信息1.創(chuàng)建修改用戶注冊Controller類在com.itheima.controller包下創(chuàng)建UserInfoController類,在該類中定義與editUserInfo.fxml文件綁定的組件和事件處理方法。2.定義修改用戶信息方法在UserDao類中定義方法用于修改用戶信息。13.5.1修改用戶信息3.實(shí)現(xiàn)界面內(nèi)容初始化在UserInfoController類的initFrame()方法中實(shí)現(xiàn)修改用戶信息界面內(nèi)容的初始化,在界面初始化時(shí)將當(dāng)前用戶的手機(jī)號設(shè)置為手機(jī)號文本框中的文本,并為手機(jī)號文本框綁定失去焦點(diǎn)事件。4.實(shí)現(xiàn)修改用戶信息(1)在UserInfoController類的editUserInfo()方法中實(shí)現(xiàn)修改用戶信息,修改之前先對用戶信息進(jìn)行校驗(yàn)。(2)在MenuBarController類的editUserInfo()方法中指定加載修改用戶信息對應(yīng)的FXML文件,并初始化修改用戶信息界面,以實(shí)現(xiàn)單擊“用戶管理”菜單下的“修改用戶信息”菜單項(xiàng)時(shí)關(guān)閉當(dāng)前窗口中的界面,并打開初始化后的修改用戶信息界面。13.5.1修改用戶信息5.測試修改用戶信息運(yùn)行MainApp類后,使用顧客“王五”登錄系統(tǒng),登錄后在菜單欄中依次單擊“用戶管理”→“修改用戶信息”,效果如右圖所示。13.5.1修改用戶信息5.測試修改用戶信息如果將手機(jī)號修改為不符合手機(jī)號規(guī)則的內(nèi)容后并將鼠標(biāo)單擊性別單選框,此時(shí)會(huì)觸發(fā)失去焦點(diǎn)事件,效果如右圖所示。13.5.1修改用戶信息5.測試修改用戶信息將用戶信息的性別修改為“女”后,單擊“修改”按鈕。至此,修改用戶信息界面全部功能完成。13.5.2修改密碼掌握修改密碼的實(shí)現(xiàn),能夠根據(jù)提供的修改密碼FXML文件,實(shí)現(xiàn)用戶密碼的修改

先定一個(gè)小目標(biāo)!13.5.2修改密碼1.創(chuàng)建修改密碼Controller類在com.itheima.controller包下創(chuàng)建PswController類,在該類中定義與editPsw.fxml

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論