




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第13章綜合項(xiàng)目-黑馬項(xiàng)目《Java基礎(chǔ)案例教程》(第3版)學(xué)習(xí)目標(biāo)/Target掌握用戶注冊(cè)的實(shí)現(xiàn),能夠根據(jù)提供的用戶注冊(cè)FXML文件,實(shí)現(xiàn)用戶的注冊(cè)掌握用戶登錄的實(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è)功能掌握?qǐng)D書管理的實(shí)現(xiàn),能夠根據(jù)提供的圖書信息FXML文件和借閱記錄FXML文件,實(shí)現(xiàn)圖書信息管理和借閱記錄兩個(gè)功能章節(jié)概述/
Summary隨著計(jì)算機(jī)的普及和互聯(lián)網(wǎng)發(fā)展,越來(lái)越多的管理員將線下服務(wù)擴(kuò)展至線上,其中書店的線上自助借閱、歸還和圖書管理已成為當(dāng)下的常見需求。本章將講解的黑馬書屋是一個(gè)運(yùn)用Java相關(guān)基礎(chǔ)知識(shí)開發(fā)的書店業(yè)務(wù)管理系統(tǒng),通過(guò)這個(gè)系統(tǒng)可以加深讀者對(duì)Java基礎(chǔ)知識(shí)的理解,并了解Java項(xiàng)目的開發(fā)流程。目錄/Contents0102項(xiàng)目開發(fā)準(zhǔn)備用戶注冊(cè)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ù)登錄用戶的角色提供對(duì)應(yīng)操作權(quán)限。13.1.1項(xiàng)目概述2.系統(tǒng)功能預(yù)覽(1)用戶登錄管理員和顧客進(jìn)入系統(tǒng)之前,都需要進(jìn)行登錄。本系統(tǒng)中管理員的信息是固定給出的,顧客的信息可以自行進(jìn)行注冊(cè)。管理員登錄時(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)用戶管理在用戶管理下可以對(duì)用戶的個(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)用戶注冊(cè)在用戶登錄界面中單擊“注冊(cè)”按鈕會(huì)跳轉(zhuǎn)到用戶注冊(cè)界面。13.1.2數(shù)據(jù)庫(kù)設(shè)計(jì)黑馬書屋中的實(shí)體主要包含用戶、圖書、借閱記錄,對(duì)此可以在數(shù)據(jù)庫(kù)中創(chuàng)建對(duì)應(yīng)的表存儲(chǔ)對(duì)應(yīng)的實(shí)體信息。結(jié)合系統(tǒng)描述中的信息設(shè)計(jì)用戶表、圖書信息表和借閱記錄表的表結(jié)構(gòu)。13.1.2數(shù)據(jù)庫(kù)設(shè)計(jì)(1)用戶表結(jié)構(gòu)表名(中文)表名(英文)用戶表user字段名類型長(zhǎng)度是否主鍵說(shuō)明idint0是用戶編號(hào)namevarchar32否用戶名稱passwordvarchar32否用戶密碼rolevarchar32否用戶角色:管理員,顧客13.1.2數(shù)據(jù)庫(kù)設(shè)計(jì)(2)圖書表結(jié)構(gòu)表名(中文)表名(英文)圖書表book字段名類型長(zhǎng)度是否主鍵說(shuō)明idint0是圖書編號(hào)booknamevarchar32否圖書名稱authorvarchar32否圖書作者statevarchar32否圖書狀態(tài):可借閱,借閱中,已下架desvarchar255否圖書簡(jiǎn)介borrowervarchar32否圖書借閱人borrowtimedatetime0否圖書借閱時(shí)間13.1.2數(shù)據(jù)庫(kù)設(shè)計(jì)(2)借閱記錄表結(jié)構(gòu)表名(中文)表名(英文)借閱記錄表record字段名類型長(zhǎng)度是否主鍵說(shuō)明idint0是借閱記錄編號(hào)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ù)庫(kù)配置、配置文件設(shè)置等操作。13.1.3項(xiàng)目環(huán)境搭建1.確定項(xiàng)目開發(fā)環(huán)境操作系統(tǒng):Windows7及以上版本。Java開發(fā)包:JDK17。數(shù)據(jù)庫(kù):MySQL8.0。開發(fā)工具:IntelliJIDEACommunityEdition2023.2.1。13.1.3項(xiàng)目環(huán)境搭建2.創(chuàng)建數(shù)據(jù)庫(kù)和表在MySQL數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)名稱為bookstore的數(shù)據(jù)庫(kù),并根據(jù)設(shè)計(jì)的數(shù)據(jù)表結(jié)構(gòu)在bookstore數(shù)據(jù)庫(kù)中創(chuàng)建相應(yīng)的數(shù)據(jù)表。讀者也可以在本書提供的配套資源中獲取對(duì)應(yīng)的sql文件創(chuàng)建數(shù)據(jù)表,并往數(shù)據(jù)表中插入測(cè)試數(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ù)訪問(wèn)層三部分進(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ù)訪問(wèn)層之間的橋梁。數(shù)據(jù)訪問(wèn)層:數(shù)據(jù)訪問(wèn)層主要負(fù)責(zé)與數(shù)據(jù)庫(kù)進(jìn)行交互,數(shù)據(jù)訪問(wèn)層根據(jù)業(yè)務(wù)邏輯層發(fā)送過(guò)來(lái)的請(qǐng)求,操作數(shù)據(jù)庫(kù)中的數(shù)據(jù),并將操作數(shù)據(jù)庫(kù)的結(jié)果返回到業(yè)務(wù)邏輯層,實(shí)現(xiàn)對(duì)數(shù)據(jù)的增刪改查操作。13.1.3項(xiàng)目環(huán)境搭建3.創(chuàng)建項(xiàng)目為了更好地管理項(xiàng)目的代碼,除了表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層,通常還需要建立實(shí)體類和工具類。實(shí)體類用于表示業(yè)務(wù)模型和數(shù)據(jù)對(duì)象,工具類則用于封裝一些通用的功能和操作。在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ù)庫(kù)中,對(duì)此程序中需要JavaFX、MySQL驅(qū)動(dòng)、數(shù)據(jù)庫(kù)連接等相關(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)入資源本書提供的資源中包含了黑馬書屋的圖形界面對(duì)應(yīng)的FXML文件、實(shí)體類、工具類、perties配置文件等資源,讀者只需將這些資源導(dǎo)入到bookstore項(xiàng)目對(duì)應(yīng)的包下即可。用戶注冊(cè)13.213.2用戶注冊(cè)掌握用戶注冊(cè)的實(shí)現(xiàn),能夠根據(jù)提供的用戶注冊(cè)FXML文件,實(shí)現(xiàn)顧客的注冊(cè)
先定一個(gè)小目標(biāo)!13.2用戶注冊(cè)用戶注冊(cè)需要實(shí)現(xiàn)返回登錄界面和用戶注冊(cè)兩個(gè)功能。用戶注冊(cè)的本質(zhì)是將顧客填寫的注冊(cè)信息保存到數(shù)據(jù)庫(kù)中,但在提交用戶注冊(cè)信息之前,為了確保信息的完整性和安全性需要對(duì)填寫的內(nèi)容進(jìn)行校驗(yàn)。13.2用戶注冊(cè)1.創(chuàng)建用戶注冊(cè)Controller類在com.itheima.controller包下創(chuàng)建RegisterController類,并在該類中定義與register.fxml文件綁定的組件和事件處理方法。2.創(chuàng)建用戶數(shù)據(jù)訪問(wèn)類用戶注冊(cè)時(shí)用戶名是唯一的,對(duì)此在注冊(cè)時(shí)需要先查詢數(shù)據(jù)庫(kù)中是否存在對(duì)應(yīng)的用戶名。在com.itheima.dao包下創(chuàng)建用戶數(shù)據(jù)訪問(wèn)類UserDao,在該類中定義根據(jù)用戶名查詢用戶信息的方法和注冊(cè)用戶的方法。13.2用戶注冊(cè)3.實(shí)現(xiàn)用戶注冊(cè)輸入信息校驗(yàn)為了確保提交的用戶注冊(cè)數(shù)據(jù)符合程序中的規(guī)則,需要在提交前對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)。在RegisterController類中定義initFrame()方法,對(duì)用戶注冊(cè)的相關(guān)組件進(jìn)行監(jiān)聽和校驗(yàn)。4.實(shí)現(xiàn)用戶注冊(cè)用戶在注冊(cè)界面單擊“注冊(cè)”按鈕后,會(huì)執(zhí)行該組件上綁定的toRegister()方法。在RegisterController類中定義toRegister()方法實(shí)現(xiàn)用戶注冊(cè)。13.2用戶注冊(cè)5.實(shí)現(xiàn)返回用戶登錄界面在com.itheima.controller包下創(chuàng)建LoginController類,并在該類中定義與login.fxml文件綁定的組件和事件處理方法。返回用戶登錄界面,只需關(guān)閉用戶注冊(cè)界面并展示用戶登錄界面接口,無(wú)需額外事件綁定。在RegisterController類的toLoginPage()方法內(nèi)使用PaneUtils工具類加載并初始化用戶登錄界面。13.2用戶注冊(cè)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用戶注冊(cè)7.測(cè)試用戶注冊(cè)功能運(yùn)行文件MainApp.java,效果如下圖所示。13.2用戶注冊(cè)7.測(cè)試用戶注冊(cè)功能在用戶注冊(cè)界面依次單擊所有輸入框但不輸入任何內(nèi)容,觸發(fā)所有文本框的失去焦點(diǎn)事件,效果如右圖所示。13.2用戶注冊(cè)7.測(cè)試用戶注冊(cè)功能在用戶注冊(cè)界面中輸入符合要求用戶信息,例如用戶名為王五,密碼為123,手機(jī)號(hào)效果如右圖所示。13.2用戶注冊(cè)7.測(cè)試用戶注冊(cè)功能單擊“注冊(cè)”按鈕,效果如右圖所示。13.2用戶注冊(cè)7.測(cè)試用戶注冊(cè)功能單擊消息提示框的“確定”按鈕后,單擊“返回登錄”按鈕,效果如右圖所示。至此,用戶注冊(cè)界面的功能已全部完成。用戶登錄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)要求輸入賬號(hào)、密碼和角色信息,并與數(shù)據(jù)庫(kù)中的記錄進(jìn)行比對(duì),若匹配成功,則登錄成功;否則,登錄失敗。13.3用戶登錄1.修改用戶登錄初始化方法展示用戶登錄界面時(shí),其中的角色下拉框中并沒有任何選項(xiàng),這是因?yàn)楫?dāng)前LoginController的初始化方法initFrame()中并未做任何操作,對(duì)此需要在該方法內(nèi)添加初始化的角色數(shù)據(jù),具體代碼如下。2.定義用戶登錄方法在UserDao類中定義用戶登錄的方法,用于根據(jù)傳入的用戶信息查詢數(shù)據(jù)庫(kù)中對(duì)應(yīng)的用戶信息,具體如下所示。13.3用戶登錄3.實(shí)現(xiàn)跳轉(zhuǎn)至用戶注冊(cè)界面用戶在用戶登錄界面單擊“注冊(cè)”按鈕后,會(huì)執(zhí)行該組件上綁定的toRegisterPage()方法。對(duì)此需要在toRegisterPage()方法中實(shí)現(xiàn)關(guān)閉用戶登錄界面時(shí)打開用戶注冊(cè)界面。在LoginController類的toRegisterPage()實(shí)現(xiàn)跳轉(zhuǎn)至用戶注冊(cè)界面,具體如下所示。4.實(shí)現(xiàn)用戶登錄用戶在用戶登錄界面單擊“登錄”按鈕后,會(huì)執(zhí)行該組件上綁定的toLogin()方法。在LoginController類的toLogin()方法內(nèi)實(shí)現(xiàn)用戶登錄,具體代碼如下。13.3用戶登錄5.測(cè)試用戶登錄功能當(dāng)前程序啟動(dòng)時(shí),默認(rèn)會(huì)加載用戶注冊(cè)的界面,但是通常會(huì)將用戶登錄界面作為程序的初始界面,對(duì)此在BookStoreAPP類的start()方法內(nèi)修改程序啟動(dòng)加載的FXML文件,修改為程序啟動(dòng)時(shí)加載用戶登錄界面。13.3用戶登錄5.測(cè)試用戶登錄功能運(yùn)行文件BookStoreApp.java,效果如下圖所示。13.3用戶登錄5.測(cè)試用戶登錄功能在用戶登錄界面中不輸入用戶名和密碼,直接單擊“登錄”按鈕,效果如右圖所示。13.3用戶登錄5.測(cè)試用戶登錄功能在用戶登錄界面的輸入框中輸入注冊(cè)成功的用戶信息后,單擊“登錄”按鈕,效果如右圖所示。13.3用戶登錄5.測(cè)試用戶登錄功能在用戶登錄界面中單擊“注冊(cè)”按鈕,效果如右圖所示。圖書管理13.413.4.1圖書信息掌握?qǐng)D書管理的實(shí)現(xiàn),能夠根據(jù)提供的圖書信息FXML文件文件,實(shí)現(xiàn)圖書信息的管理
先定一個(gè)小目標(biāo)!13.4.1圖書信息圖書信息用于查詢和修改圖書的相關(guān)信息,對(duì)于不同的用戶角色,系統(tǒng)提供了不同的操作權(quán)限。為此,在初始化界面時(shí),需要根據(jù)登錄用戶的角色,動(dòng)態(tài)加載不同的組件,以提供相應(yīng)的操作功能。13.4.1圖書信息管理員角色和顧客角色訪問(wèn)圖書信息界面時(shí)都主要包含三個(gè)面板。(1)管理員圖書查詢面板:主要包含一個(gè)下拉框、一個(gè)文本框、一個(gè)按鈕,下拉框用于選擇需要查詢的圖書的狀態(tài),包含可借閱、借閱中、已下架三種選項(xiàng);單擊“查詢”按鈕時(shí),根據(jù)下拉框選中的圖書狀態(tài),以及文本框中輸入的圖書名稱在數(shù)據(jù)庫(kù)中查詢包含該圖書名稱的圖書信息。圖書列表面板:用于展示圖書查詢的結(jié)果,如果查詢的圖書的狀態(tài)為借閱中,則需要在表格中新增一列用于顯示當(dāng)前的借閱者。圖書添加\修改面板:用于輸入和選擇需要添加或修改的圖書信息,其中修改圖書時(shí),只能對(duì)查詢到圖書列表中的圖書信息進(jìn)行修改,當(dāng)選中圖書列表中的某行圖書信息時(shí),會(huì)自動(dòng)填充這些信息到面板對(duì)應(yīng)的輸入框和下拉框中。13.4.1圖書信息(2)顧客圖書查詢面板:與管理員展示的圖書查詢面板組件和功能一致,不同的是顧客角色查詢時(shí),圖書狀態(tài)下拉框中不包含已下架的選擇,只有可借閱和借閱中。圖書列表面板:同管理員角色一樣,用于展示圖書查詢的結(jié)果。圖書借閱\歸還面板:用于對(duì)可借閱的圖書進(jìn)行借閱,以及對(duì)本人已借閱的圖書進(jìn)行歸還。圖書借閱和歸還都需要先進(jìn)行圖書查詢,選擇圖書列表中的圖書信息后,會(huì)將該圖書的信息填充到面板對(duì)應(yīng)的輸入框和下拉框中,確認(rèn)無(wú)誤后再進(jìn)行借閱或歸還。13.4.1圖書信息創(chuàng)建菜單欄Controller為了實(shí)現(xiàn)從菜單欄進(jìn)入圖書管理等其他功能,需要?jiǎng)?chuàng)建與菜單欄FXML文件對(duì)應(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ù)訪問(wèn)類在com.itheima.dao包下創(chuàng)建BookDao類,用于對(duì)圖書進(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)不同場(chǎng)景時(shí)的圖書查詢。13.4.1圖書信息5.實(shí)現(xiàn)圖書添加圖書添加只需將圖書添加\修改面板中的圖書信息傳遞到圖書數(shù)據(jù)訪問(wèn)層保存即可,在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ù)庫(kù)中即可。在BookController類的lendBook()方法中實(shí)現(xiàn)圖書借閱。8.實(shí)現(xiàn)圖書歸還(1)圖書歸還需要將圖書狀態(tài)修改回可借閱,借閱人和借閱時(shí)間為null,并在歸還成功后添加借閱記錄。在com.ithiem.dao包下創(chuàng)建圖書借閱數(shù)據(jù)訪問(wèn)類RecordDao,在該類中定義addRecord()方法用于添加圖書借閱記錄的方法。(2)在BookController類的returnBook()方法中實(shí)現(xiàn)圖書歸還。13.4.1圖書信息9.測(cè)試圖書信息功能為了實(shí)現(xiàn)用戶登錄成功默認(rèn)展示圖書信息的界面,可以在LoginController類的toLogin()方法中將登錄成功的信息提示框替換為查詢圖書信息的代碼。13.4.1圖書信息9.測(cè)試圖書信息功能(1)管理員角色相關(guān)功能測(cè)試運(yùn)行MainApp.java文件后,使用管理員“黑馬”登錄系統(tǒng),登錄后的效果如右圖所示。13.4.1圖書信息9.測(cè)試圖書信息功能(1)管理員角色相關(guān)功能測(cè)試在圖書添加\修改面板中輸入需要添加的圖書信息,例如添加書名為“石頭記”,作者為“曹雪芹”,簡(jiǎn)介為“展現(xiàn)了封建社會(huì)的種種虛偽和罪惡的古典長(zhǎng)篇小說(shuō)”,然后單擊“添加”按鈕,效果如右圖所示。13.4.1圖書信息9.測(cè)試圖書信息功能(1)管理員角色相關(guān)功能測(cè)試單擊“確定”按鈕后,將圖書查詢下拉框的狀態(tài)選中為借閱中,然后單擊“查詢”按鈕,查詢所有借閱中的圖書信息,效果如右圖所示。13.4.1圖書信息9.測(cè)試圖書信息功能(1)管理員角色相關(guān)功能測(cè)試下面測(cè)試圖書修改的效果,首先演示修改狀態(tài)為借閱中的圖書信息,以修改圖書“邊城”為例,先選中圖書列表中的“邊城”圖書信息,效果右圖所示。13.4.1圖書信息9.測(cè)試圖書信息功能(1)管理員角色相關(guān)功能測(cè)試下面修改借閱中的圖書信息,以修改圖書“石頭記”為例,選中列表中的“石頭記”后,將書名修改為“紅樓夢(mèng)”,簡(jiǎn)介修改為“以愛情悲劇為主線,揭示封建社會(huì)的種種弊病”,修改后單擊“修改”按鈕,效果如右圖所示。13.4.1圖書信息9.測(cè)試圖書信息功能(2)顧客角色相關(guān)功能測(cè)試運(yùn)行MainApp類后,使用顧客“張三”登錄系統(tǒng),登錄后效果如右圖所示。13.4.1圖書信息9.測(cè)試圖書信息功能(2)顧客角色相關(guān)功能測(cè)試對(duì)可借閱的圖書進(jìn)行借閱,例如借閱圖書“紅樓夢(mèng)”,在圖書列表中單擊選中書名為紅樓夢(mèng)的圖書信息,效果如右圖所示。13.4.1圖書信息9.測(cè)試圖書信息功能(2)顧客角色相關(guān)功能測(cè)試確認(rèn)需要借閱的圖書信息無(wú)誤后,單擊“借閱”按鈕,效果如右圖所示。13.4.1圖書信息9.測(cè)試圖書信息功能(2)顧客角色相關(guān)功能測(cè)試單擊“確定”按鈕后,在圖書查詢下拉框中選中“借閱中”的選項(xiàng)后,單擊“查詢”按鈕,查詢張三借閱中的圖書信息,效果如右圖所示。13.4.1圖書信息9.測(cè)試圖書信息功能(2)顧客角色相關(guān)功能測(cè)試顧客可以將自己借閱中的圖書進(jìn)行歸還,以歸還圍城為例,單擊選擇圖書列表中書名為圍城的圖書信息后,單擊“歸還”按鈕,效果如右圖所示。13.4.1圖書信息9.測(cè)試圖書信息功能(2)顧客角色相關(guān)功能測(cè)試再次查詢可借閱的圖書信息,效果如右圖所示。至此,圖書信息界面的功能已全部完成。13.4.2借閱記錄掌握借閱記錄的實(shí)現(xiàn),能夠根據(jù)提供的借閱記錄FXML文件,實(shí)現(xiàn)借閱記錄功能
先定一個(gè)小目標(biāo)!13.4.2借閱記錄借閱記錄指的是從借閱到歸還的完整借閱信息。借閱記錄功能由新增借閱記錄和查詢借閱記錄兩個(gè)部分組成。新增借閱記錄會(huì)在顧客成功歸還圖書時(shí)在數(shù)據(jù)庫(kù)新增;查詢借閱記錄指根據(jù)指定條件查詢數(shù)據(jù)庫(kù)中借閱記錄的功能。13.4.2借閱記錄1.創(chuàng)建借閱記錄Controller類在com.itheima.controller包下創(chuàng)建RecordController類,并在該類中定義與record.fxml文件綁定的組件和事件處理方法。由于借閱記錄只有查詢功能,對(duì)此界面初始化時(shí)需要自動(dòng)查詢借閱記錄,可以直接調(diào)用界面初始化方法。2.定義查詢借閱記錄方法在RecordDao類中定義查詢借閱記錄的方法,用于根據(jù)傳入圖書名稱和用戶信息查詢對(duì)應(yīng)的圖書借閱記錄。13.4.2借閱記錄3.實(shí)現(xiàn)借閱記錄功能(1)在RecordController類的initFrame()方法中實(shí)現(xiàn)借閱記錄的功能。(2)在MenuBarController類的showRecords()方法中指定加載借閱記錄對(duì)應(yīng)的FXML文件,并初始化借閱記錄界面,以實(shí)現(xiàn)單擊“借閱記錄”菜單項(xiàng)時(shí)關(guān)閉當(dāng)前窗口中的界面,并打開初始化后的借閱記錄界面。13.4.2借閱記錄4.測(cè)試借閱記錄功能運(yùn)行MainApp類后,使用管理員“黑馬”登錄系統(tǒng),登錄后在菜單欄中依次單擊“圖書管理”→“借閱記錄”,效果如右圖所示。13.4.2借閱記錄4.測(cè)試借閱記錄功能下面測(cè)試指定書名查詢借閱記錄的效果,例如在圖書借閱記錄頁(yè)面的文本框中輸入“Java”后,單擊“查詢”按鈕,效果如右圖所示。至此,借閱記錄界面的全部功能已經(jīng)完成。13.4.2借閱記錄4.測(cè)試借閱記錄功能下面接著演示顧客角色查詢借閱記錄的效果。重新運(yùn)行MainApp類后,使用管理員“張三”登錄系統(tǒng),登錄后在菜單欄中依次單擊“圖書管理”→“借閱記錄”,效果如右圖所示。用戶管理13.513.5.1修改用戶信息掌握用戶管理的實(shí)現(xiàn),能夠根據(jù)提供的修改用戶信息FXML文件實(shí)現(xiàn)用戶信息的修改
先定一個(gè)小目標(biāo)!13.5.1修改用戶信息用戶修改信息后,需要立即對(duì)修改的信息進(jìn)行校驗(yàn)。為了實(shí)現(xiàn)這一功能,可以監(jiān)聽需要校驗(yàn)的文本內(nèi)容,在單擊“修改”按鈕時(shí),再次對(duì)當(dāng)前個(gè)人信息進(jìn)行校驗(yàn)。只有當(dāng)符合要求時(shí),才將這些信息更新到數(shù)據(jù)庫(kù)中。13.5.1修改用戶信息1.創(chuàng)建修改用戶注冊(cè)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ī)號(hào)設(shè)置為手機(jī)號(hào)文本框中的文本,并為手機(jī)號(hào)文本框綁定失去焦點(diǎn)事件。4.實(shí)現(xiàn)修改用戶信息(1)在UserInfoController類的editUserInfo()方法中實(shí)現(xiàn)修改用戶信息,修改之前先對(duì)用戶信息進(jìn)行校驗(yàn)。(2)在MenuBarController類的editUserInfo()方法中指定加載修改用戶信息對(duì)應(yīng)的FXML文件,并初始化修改用戶信息界面,以實(shí)現(xiàn)單擊“用戶管理”菜單下的“修改用戶信息”菜單項(xiàng)時(shí)關(guān)閉當(dāng)前窗口中的界面,并打開初始化后的修改用戶信息界面。13.5.1修改用戶信息5.測(cè)試修改用戶信息運(yùn)行MainApp類后,使用顧客“王五”登錄系統(tǒng),登錄后在菜單欄中依次單擊“用戶管理”→“修改用戶信息”,效果如右圖所示。13.5.1修改用戶信息5.測(cè)試修改用戶信息如果將手機(jī)號(hào)修改為不符合手機(jī)號(hào)規(guī)則的內(nèi)容后并將鼠標(biāo)單擊性別單選框,此時(shí)會(huì)觸發(fā)失去焦點(diǎn)事件,效果如右圖所示。13.5.1修改用戶信息5.測(cè)試修改用戶信息將用戶信息的性別修改為“女”后,單擊“修改”按鈕。至此,修改用戶信息界面全部功能完成。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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度工傷人員傷殘?jiān)u定及賠償協(xié)議
- 2025年度集體合同協(xié)商中的勞動(dòng)爭(zhēng)議處理
- 2025年度幼兒園保安聘用合同標(biāo)準(zhǔn)范本
- 二零二五年度專業(yè)護(hù)工針對(duì)心血管疾病病人護(hù)理合同
- 2025年度中小企業(yè)發(fā)展基金借款連帶擔(dān)保人合同
- 2025年度單位食堂承包及員工滿意度提升協(xié)議
- 2025年度知識(shí)產(chǎn)權(quán)股份代持許可使用協(xié)議
- 2025年度國(guó)際文化交流項(xiàng)目合作誠(chéng)意金協(xié)議
- 2025年度工程監(jiān)理個(gè)人勞動(dòng)合同(工程質(zhì)量安全管理)
- 2025年度航空航天器復(fù)合材料維修合同
- 湖南科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試參考試題庫(kù)(含答案)
- 玻璃分化板制作工藝
- 虹吸現(xiàn)象講解
- 設(shè)備采購(gòu)計(jì)劃書
- 長(zhǎng)興縣合溪水庫(kù)清淤工程(一期)環(huán)境影響報(bào)告
- 粒籽源永久性植入治療放射防護(hù)要求
- 新聞選題申報(bào)單
- 醫(yī)學(xué)倫理審查申請(qǐng)表
- 《計(jì)算機(jī)安全基礎(chǔ)》課件
- 養(yǎng)老院行業(yè)現(xiàn)狀分析-2023年中國(guó)養(yǎng)老院行業(yè)市場(chǎng)發(fā)展前景研究報(bào)告-智研咨詢
- 住房公積金貸款申請(qǐng)書
評(píng)論
0/150
提交評(píng)論