楚孟慧 蔣素云 馬加慧
(山東科技大學(xué) 電氣信息系,山東 濟(jì)南250031)
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,計(jì)算機(jī)的運(yùn)用給大家的生活帶來(lái)了極大的便利,幫助人們?cè)谌粘I钪薪鉀Q很多問(wèn)題。傳統(tǒng)的人員信息記錄、修改、刪除、查詢等等需要紙質(zhì)登記和造冊(cè),需要專門的業(yè)務(wù)人員去服務(wù)而且在過(guò)程中容易丟失數(shù)據(jù),并且完成周期長(zhǎng)、效率低。所以建立一套完善的線上人員信息系統(tǒng)顯得尤為重要。
首先進(jìn)行需求分析,經(jīng)過(guò)調(diào)查需要收集和存儲(chǔ)的人員信息主要包括員工代碼、員工姓名、所屬部門、辦公電話等四部分。需要的功能包括對(duì)員工信息的增加、刪除、修改和查詢,又因?yàn)樾枰占畔⑺栽黾訂T工自主注冊(cè)登錄的功能。如圖1 所示:
圖1 功能展示
首先在Mysql 數(shù)據(jù)庫(kù)中新建立一個(gè)員工數(shù)據(jù)表(員工代碼、員工姓名、所屬部門、辦公電話),其中員工代碼為主鍵。主鍵是能夠識(shí)別任意一個(gè)員工的標(biāo)志。新建數(shù)據(jù)表之后為方便顯示表中數(shù)據(jù)到網(wǎng)頁(yè)上,可以在此處虛擬添加員工信息。
要使數(shù)據(jù)庫(kù)中的數(shù)據(jù)顯示到頁(yè)面上java 語(yǔ)言可看做數(shù)據(jù)庫(kù)與頁(yè)面的橋梁。
圖2 數(shù)據(jù)顯示過(guò)程
首先建立員工實(shí)體類對(duì)象,其中包含的屬性即為員工代碼、員工姓名、所屬部門、辦公電話。此處員工實(shí)體類名稱與數(shù)據(jù)庫(kù)中表的名稱最好保持一致。表中字段名與類的屬性名稱最好保持一致,這樣在代碼書(shū)寫(xiě)過(guò)程中會(huì)減少矛盾。然后建立數(shù)據(jù)庫(kù)鏈接,將數(shù)據(jù)庫(kù)中員工表的數(shù)據(jù)存儲(chǔ)在以員工類為泛型的List 容器中,并作為數(shù)據(jù)庫(kù)訪問(wèn)層函數(shù)的返回值。最后在業(yè)務(wù)邏輯層調(diào)用函數(shù)獲取List 列表,將List 列表中的值存入session 中并值循環(huán)遍歷展示到頁(yè)面上。
整個(gè)過(guò)程如圖2 所示。
首先在展示頁(yè)面設(shè)置增加、刪除、修改、查詢和打印按鈕,并為每個(gè)按鈕設(shè)置跳轉(zhuǎn)的超鏈接以及新頁(yè)面。
增加員工信息:在超鏈接后建立新頁(yè)面如圖3,點(diǎn)擊增加按鈕,此時(shí)需要為增加按鈕設(shè)置業(yè)務(wù)。首先在業(yè)務(wù)邏輯層中將頁(yè)面輸入的四個(gè)屬性獲取并存入員工對(duì)象中,將此對(duì)象作為參數(shù)傳遞到數(shù)據(jù)庫(kù)訪問(wèn)層中。在數(shù)據(jù)庫(kù)訪問(wèn)層將參數(shù)與sql 語(yǔ)句拼接完整,并執(zhí)行該sql 語(yǔ)句這樣就能將頁(yè)面中填入的數(shù)據(jù)存入數(shù)據(jù)庫(kù)中。
圖3 增加員工信息
修改員工信息:點(diǎn)擊修改員工信息,此時(shí)需要相應(yīng)頁(yè)面如圖4,所以首先建立相應(yīng)頁(yè)面。相應(yīng)頁(yè)面應(yīng)包括想要修改的員工代碼、想要修改的項(xiàng)目以及修改之后的內(nèi)容。點(diǎn)擊修改按鈕此時(shí)應(yīng)該為修改按鈕添加業(yè)務(wù)邏輯,首先從輸入頁(yè)面獲取確定員工代碼,因?yàn)閱T工代碼是主鍵能夠找到相對(duì)應(yīng)的員工,然后調(diào)用數(shù)據(jù)庫(kù)訪問(wèn)層函數(shù)根據(jù)修改項(xiàng)目和修改項(xiàng)目的內(nèi)容來(lái)改變?cè)搯T工在該項(xiàng)目下的內(nèi)容。
圖4 修改員工信息
圖5 查詢員工信息
查詢員工信息:點(diǎn)擊查詢員工信息,首先設(shè)置相應(yīng)新頁(yè)面如圖5,包括三個(gè)輸入框,分別是:選擇想要查詢的項(xiàng)目(員工代碼、員工姓名、所屬部門、工作電話)以及對(duì)應(yīng)的想要查詢的值。點(diǎn)擊查詢按鈕,此時(shí)應(yīng)為查詢按鈕設(shè)置業(yè)務(wù)邏輯,首先應(yīng)將頁(yè)面輸入值獲取,將獲取的值作為參數(shù)調(diào)用數(shù)據(jù)庫(kù)訪問(wèn)層函數(shù),參數(shù)作為sql 語(yǔ)句的一部分拼接為完整的sql 語(yǔ)句之后執(zhí)行,將查詢到的信息放入List 容器中,并作為函數(shù)返回值將List 返回到業(yè)務(wù)邏輯層。在業(yè)務(wù)邏輯層中將獲取到的List 放入session中,然后跳轉(zhuǎn)到數(shù)據(jù)展示頁(yè)面,將session 中存入的數(shù)據(jù)取出,展示到頁(yè)面上。
刪除員工信息:點(diǎn)擊刪除員工信息按鈕,首先設(shè)置刪除員工信息的新頁(yè)面如圖6,此頁(yè)面中包含一個(gè)輸入框,此輸入框應(yīng)能夠識(shí)別每一個(gè)員工,所以輸入框應(yīng)設(shè)置為員工代碼。在此輸入框中輸入員工代碼,點(diǎn)擊提交,并對(duì)提交按鈕設(shè)置業(yè)務(wù)邏輯,首先在刪除頁(yè)面獲取想要?jiǎng)h除的員工代碼,調(diào)用數(shù)據(jù)庫(kù)訪問(wèn)層的函數(shù)將此員工代碼作為參數(shù)傳遞到數(shù)據(jù)庫(kù)訪問(wèn)層,與此參數(shù)結(jié)合執(zhí)行sql 語(yǔ)句,返回結(jié)果值。然后在業(yè)務(wù)邏輯層接收并判斷函數(shù)返回結(jié)果值,若刪除成功則在頁(yè)面中提示,若不成功則提示相應(yīng)失敗原因。
圖6 刪除員工信息
首先編寫(xiě)注冊(cè)頁(yè)面包含三個(gè)輸入框,用戶名、密碼和密碼確認(rèn)。點(diǎn)擊注冊(cè)按鈕,此時(shí)應(yīng)為注冊(cè)按鈕設(shè)置邏輯業(yè)務(wù)。獲取注冊(cè)頁(yè)面的用戶名和密碼,將頁(yè)面獲取的用戶名和密碼作為參數(shù)傳遞到數(shù)據(jù)庫(kù)訪問(wèn)層,結(jié)合參數(shù)執(zhí)行sql 語(yǔ)句判斷是否已經(jīng)有相同用戶,若相同則提供相對(duì)應(yīng)的返回值,使得業(yè)務(wù)邏輯層能夠響應(yīng)到頁(yè)面給與相應(yīng)提示。若沒(méi)有相同用戶則將執(zhí)行sql 語(yǔ)句中的增加操作,將該用戶增加到數(shù)據(jù)庫(kù)中。邏輯層調(diào)用此函數(shù)可根據(jù)返回值的不同向頁(yè)面反應(yīng)不同的提示。
編寫(xiě)登錄頁(yè)面,與注冊(cè)頁(yè)面相似,登錄頁(yè)面包括用戶名和密碼兩個(gè)部分。首先獲取輸入頁(yè)面的用戶名和密碼到邏輯層,在邏輯層中將用戶名和密碼作為參數(shù)傳入數(shù)據(jù)庫(kù)訪問(wèn)層,在數(shù)據(jù)庫(kù)訪問(wèn)層中將獲取的參數(shù)與sql 語(yǔ)句結(jié)合,查詢是否存在該用戶,若存在該用戶則判斷密碼是否正確。若不存在該用戶或者密碼與用戶名不相符則將返回對(duì)應(yīng)結(jié)果值。邏輯層通過(guò)判斷該返回值,給與頁(yè)面輸入層一個(gè)相應(yīng)提示。