基于JSF+Spring+Hibernate的人事管理系統(tǒng)
發(fā)布時(shí)間:2019-08-14 來(lái)源: 歷史回眸 點(diǎn)擊:
摘要:該文設(shè)計(jì)提出一種基于B/S結(jié)構(gòu)的人事管理系統(tǒng),采用時(shí)下流行的JSF+Spring+Hibernate和mysql數(shù)據(jù)庫(kù)對(duì)應(yīng)用程序進(jìn)行開(kāi)發(fā)和研究,較好地解決了各個(gè)企業(yè)人事管理的實(shí)際問(wèn)題。
關(guān)鍵詞:B/S;人事管理; JSF+Spring+Hibernate; mysql
中圖分類號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)06-1344-05
Personnel Management System Based on JSF+Spring+Hibernate
QIAN Feng
(The Communist Party of China Wuxi City Huishan District School, Wuxi 214174,China)
Abstract:This paper proposed one kind based on the B/S structure of the personnel management system, using the popular JSF+Spring+ Hibernate and MySQL database application development and research, has solved each enterprise personnel management problems.
Key words:B/S; Personnel management; JSF+Spring+Hibernate; mysql
企業(yè)以先進(jìn)的信息技術(shù)為手段,對(duì)信息進(jìn)行采集、整理、加工、傳播、存貯和利用的過(guò)程,對(duì)企業(yè)的信息活動(dòng)過(guò)程進(jìn)行戰(zhàn)略規(guī)劃,對(duì)信息活動(dòng)中的要素進(jìn)行計(jì)劃、組織、領(lǐng)導(dǎo)和控制的決策過(guò)程,力求資源有效配置、共享管理、協(xié)調(diào)運(yùn)作,以最少的消耗創(chuàng)造最大的效益。在現(xiàn)代企業(yè)中,信息管理工作正發(fā)揮著越來(lái)越重要的作用。企業(yè)信息管理工作已經(jīng)滲透到企業(yè)日常工作的許多方面,無(wú)論是其自身還是所發(fā)揮的作用,都為企業(yè)的創(chuàng)新、發(fā)展以及經(jīng)濟(jì)效益,做出了顯著的貢獻(xiàn)。全文中所設(shè)計(jì)的“企業(yè)人事管理系統(tǒng)”是使用JAVA編程語(yǔ)言,后臺(tái)數(shù)據(jù)庫(kù)則采用Mysql,采用JSF+Spring+Hibernate開(kāi)發(fā)。
目前比較流行的面向?qū)ο蟮拈_(kāi)發(fā)語(yǔ)言JAVA,采用SSH框架開(kāi)發(fā)不但在開(kāi)發(fā)上可以做到簡(jiǎn)單快捷,在與數(shù)據(jù)庫(kù)的訪問(wèn)上更做到了游刃有余!Mysql數(shù)據(jù)庫(kù)是目前比較流行的,也是小型系統(tǒng)的首選數(shù)據(jù)庫(kù)因?yàn)樗?jiǎn)單易用而且功能足夠使用!
1需求分析
1.1系統(tǒng)架構(gòu),系統(tǒng)模塊設(shè)計(jì)
人事管理主要功能分為:
1)人員管理;主要功能為對(duì)員工信息的維護(hù),增加員工,刪除員工,編輯員工信息。
2)考勤管理;主要功能為對(duì)企業(yè)內(nèi)部人員進(jìn)行考勤管理,以及對(duì)企業(yè)內(nèi)部人員進(jìn)行考勤信息搜索。查詢分為個(gè)人查詢,按月查詢,查詢?nèi)俊?br> 3)工資管理;主要功能為根據(jù)考勤信息結(jié)算員工所在月應(yīng)得到的工資。
1.2功能需求分析
企業(yè)的人事管理職能主要分為人事檔案信息管理、人事變動(dòng)管理、考勤管理、員工培訓(xùn)管理、獎(jiǎng)懲管理、合同管理、工資管理等內(nèi)容。其中工資管理由企業(yè)人事部制定標(biāo)準(zhǔn),對(duì)企業(yè)效益進(jìn)行系統(tǒng)分析研究,定出應(yīng)發(fā)金額標(biāo)準(zhǔn),再由財(cái)務(wù)部計(jì)算員工工資,定出實(shí)發(fā)工資并發(fā)放。除此之外的其他管理職能由人事部單獨(dú)執(zhí)行。在人事系統(tǒng)開(kāi)發(fā)時(shí)應(yīng)考慮以下需求:
1)滿足人事管理職能的基本要求;
2)進(jìn)行多層次數(shù)據(jù)匯總,為各層次管理者的決策分析提供數(shù)據(jù);
3)具有完整的系統(tǒng)接口,滿足靈活的數(shù)據(jù)導(dǎo)入與導(dǎo)出;
4)對(duì)操作人員的技能要求比較低,操作方便;
5)能夠?qū)崿F(xiàn)方便的擴(kuò)展,滿足企業(yè)發(fā)展的需要;6)能夠保障人事管理數(shù)據(jù)的安全、準(zhǔn)確。
以下為《人事管理系統(tǒng)》實(shí)現(xiàn)的基本功能:
1)用戶管理:對(duì)使用該系統(tǒng)的人員進(jìn)行管理,可以設(shè)置使用者密碼和其權(quán)限。在滿足不同系統(tǒng)用戶的操作需求的基礎(chǔ)上,提高
圖1企業(yè)人事管理系統(tǒng)流程圖系統(tǒng)的安全性。
2)人事檔案管理:對(duì)企業(yè)內(nèi)部人員基本信息(包括員工的基本信息、工資檔案信息、學(xué)歷信息等)的管理及相關(guān)操作。管理員進(jìn)行內(nèi)部員工信息錄入及更改,其中包括員工的基本信息、工作經(jīng)歷、家庭關(guān)系、獎(jiǎng)懲記錄和培訓(xùn)經(jīng)歷,除了可以對(duì)這些員工檔案信息可以進(jìn)行新增、修改、刪除操作,也可以對(duì)內(nèi)部員工信息進(jìn)行查詢和瀏覽操作。此系統(tǒng)模塊是本系統(tǒng)的重點(diǎn)模塊,管理員可以使用該模塊建立單位較為完善的人事檔案管理,方便用戶的使用。
3)基礎(chǔ)數(shù)據(jù)管理:維護(hù)人事管理相關(guān)的一些基礎(chǔ)數(shù)據(jù)。主要包括以下功能:
4)人事變動(dòng)管理:企業(yè)內(nèi)部人員的職位調(diào)整,管理員可以對(duì)檔案信息進(jìn)行及時(shí)的更新,方便用戶的查詢和瀏覽。
5)考勤管理:考勤管理可幫助公司完成時(shí)間管理記錄員工上下班、加班、出缺勤時(shí)間,并可將數(shù)據(jù)連至薪資計(jì)算系統(tǒng)處理,以便作薪資結(jié)算。企業(yè)還可根據(jù)此考勤系統(tǒng)查詢企業(yè)內(nèi)各時(shí)段的員工出缺勤狀況,作管理方面的分析。提供了全面的考勤管理。
圖2系統(tǒng)ER圖
2數(shù)據(jù)庫(kù)介紹
圖3表的關(guān)系圖
3開(kāi)發(fā)環(huán)境介紹
Eclipse工具是一種可擴(kuò)展的開(kāi)放源代碼多元化的IDE,是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)多語(yǔ)言跨平臺(tái)的平臺(tái)。Eclipse允許用戶在多元化的IDE中集成來(lái)自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的相互操作性,從而顯著改變了項(xiàng)目工作流程,使開(kāi)發(fā)者可以專注在實(shí)際的嵌入式目標(biāo)上。Eclipse一款非常受廣大開(kāi)發(fā)者歡迎的java開(kāi)發(fā)工具,目前,國(guó)內(nèi)的用戶越來(lái)越多,實(shí)際上實(shí)用它java開(kāi)發(fā)人員是最多的。其框架的缺點(diǎn)就是較復(fù)雜,對(duì)初學(xué)者來(lái)說(shuō),理解起來(lái)比較困難。
JDK的全名為Java Development Kit,是用于開(kāi)發(fā)Java的開(kāi)發(fā)包,Java開(kāi)發(fā)基礎(chǔ)的工具,是一個(gè)開(kāi)發(fā)Java的applet和應(yīng)用程序的程序開(kāi)發(fā)環(huán)境。它由一個(gè)處于操作系統(tǒng)層之上的運(yùn)行環(huán)境還有開(kāi)發(fā)者編譯,調(diào)試和運(yùn)行用Java語(yǔ)言寫(xiě)的applet和應(yīng)用程序所需的工具組成。
JDK是Sun Microsystems針對(duì)Java開(kāi)發(fā)員而自主研發(fā)的產(chǎn)品。自從Java語(yǔ)言面世以來(lái),JDK已經(jīng)成為使用最廣泛的Java SDK,其版本也經(jīng)歷了JDK1.0至JDK7.0七個(gè)版本。
Jsp的全名為Java Server Pages,是在普通Html(Hyper Text Markup Language)中嵌入了Java代碼的一個(gè)腳本,在嵌入代碼這點(diǎn)上,它與其它的腳本語(yǔ)言(如asp、Php)是一樣的,但它與其它網(wǎng)絡(luò)編程語(yǔ)言不同的是:其它腳本語(yǔ)言由服務(wù)器的發(fā)布軟件直接解釋腳本語(yǔ)言,而Jsp則由Jsp容器(例如Tomcat)首先將其轉(zhuǎn)化為Servlet,然后再調(diào)用Javac將Servlet編譯為Class文件。最終,服務(wù)器負(fù)責(zé)解釋的是Class文件。那么何為Servlet呢?Servlet其實(shí)是一個(gè)特殊的Java類,Servlet類一般從HttpServlet類繼承而來(lái),在這個(gè)類中至少要實(shí)現(xiàn)doGet或者doPost兩個(gè)函數(shù),在這兩個(gè)函數(shù)中處理來(lái)自客戶的請(qǐng)求,然后將結(jié)果返回給用戶。Servlet和Jsp是Sun公司J2EE架構(gòu)中重要的部分。由于基于Java語(yǔ)言的跨平臺(tái)性,因此其可以方便的調(diào)用功能強(qiáng)大的Java API(如Java Data Base Connectivi? ty,java數(shù)據(jù)庫(kù)連接)。
Tomcat是由Apache軟件基金會(huì)(Apache Software Foundation)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun和其他一些公司以及個(gè)人共同開(kāi)發(fā)而成,是一個(gè)免費(fèi)的開(kāi)源的Serlvet容器。由于有了Sun公司的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,可見(jiàn)其在業(yè)界的地位。
Tomcat不單單是一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html語(yǔ)言的解析。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache來(lái)得強(qiáng)大。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。這種集成處理程序的功能,只需要修改一下Apache和Tomcat的配置文件即可。
MVC是以下三個(gè)單詞的縮寫(xiě):模型(Model),視圖(View)和控制Controller)。MVC模式的目的就是實(shí)現(xiàn)Web系統(tǒng)的職能分工。Model層實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通?梢杂肑avaBean或EJB來(lái)實(shí)現(xiàn)。View層用于與用戶的交互,通常用JSP來(lái)實(shí)現(xiàn)。MVC模式是一個(gè)獨(dú)立的設(shè)計(jì)模式,它人為的講應(yīng)用程序的輸入、處理和輸出分開(kāi)。使用MVC模式開(kāi)發(fā)的應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。從而減少了程序的耦合度。
JavaBean是一種基于Java語(yǔ)言開(kāi)發(fā)的可重用組件方法。JavaBean通過(guò)對(duì)業(yè)務(wù)邏輯對(duì)源代碼進(jìn)行封裝形成一整套可反復(fù)使用的對(duì)象庫(kù)。在使用Eclipse開(kāi)發(fā)Java語(yǔ)言的過(guò)程中,我們可以通過(guò)JavaBean來(lái)擴(kuò)展Java程序的延伸功能,通過(guò)JavaBean的接口的修改或組合就可以快速的構(gòu)建滿足新的需求的程序,從而達(dá)到提高開(kāi)發(fā)效率的目的。JavaBean在實(shí)現(xiàn)的過(guò)程完全隱藏,只提供給其他開(kāi)發(fā)者一些外部操作接口以達(dá)到方便使用的目的。Java開(kāi)發(fā)中應(yīng)用JavaBean的重要原因是可以很好的做到代碼的重用,便于后期程序開(kāi)發(fā)者的修改和管理。并且這樣可以通過(guò)JavaBean來(lái)進(jìn)一步無(wú)限擴(kuò)充Java程序的功能,通過(guò)JavaBean的對(duì)象類的組合可以快速完成一個(gè)新的應(yīng)用程序的編寫(xiě)。在服務(wù)器端應(yīng)用JavaBean能充分體現(xiàn)其超強(qiáng)的生命力。JavaBean在JSP程序中也是很有幫助的,常用來(lái)封裝業(yè)務(wù)邏輯程序、數(shù)據(jù)庫(kù)訪問(wèn)操作等等源代碼,可以很好地實(shí)現(xiàn)業(yè)務(wù)邏輯與網(wǎng)頁(yè)html和嵌入式代碼的分離,使得系統(tǒng)具有更好的穩(wěn)定性和易維護(hù)性。
JSF(JavaServer Faces)是一種用于構(gòu)建基于Java的Web應(yīng)用程序的服務(wù)器端用戶接口(UI)組件框架。它提供了一種以組件(控件)為中心來(lái)開(kāi)發(fā)Java Web用戶界面的方法,從而簡(jiǎn)化開(kāi)發(fā)過(guò)程,提高開(kāi)發(fā)效率。
JSF還將結(jié)構(gòu)良好的模型-視圖-控制器(MVC)設(shè)計(jì)模式集成到它的體系結(jié)構(gòu)中,確保了應(yīng)用程序具有更高的可維護(hù)性。
由于JSF是JCP(Java Community Process)推出的一種Java標(biāo)準(zhǔn),方便了開(kāi)發(fā)工具提供商為JSF提供易于使用的、高效的可視化開(kāi)發(fā)環(huán)境;贘SF技術(shù)的開(kāi)發(fā)工具可以象Jbuilder開(kāi)發(fā)圖形用戶界面那樣,在Web應(yīng)用中插入可視組件(控件),并為組件添加事件處理代碼。
使用JSF技術(shù),開(kāi)發(fā)者可以使用熟悉的GUI框架來(lái)開(kāi)發(fā)Web應(yīng)用,并且開(kāi)發(fā)出來(lái)的系統(tǒng)也更容易地維護(hù)。
Spring框架也是一個(gè)開(kāi)放源代碼的中間業(yè)務(wù)邏輯處理的框架系統(tǒng),是一種具有輕量級(jí)替換EJB技術(shù)的解決方案,在此基礎(chǔ)上,還提供了包括聲明式事務(wù)邏輯處理,RMI或Web Services訪問(wèn)業(yè)務(wù)邏輯,以及可以多種方法對(duì)數(shù)據(jù)的持久化解決方案。我們可以將Spring看作是一個(gè)標(biāo)準(zhǔn)開(kāi)發(fā)的組件,根據(jù)自己在開(kāi)發(fā)過(guò)程中的需要,選用我們認(rèn)為有用的部分組件使用而其他未使用功能并無(wú)影響。實(shí)際上,Spring框架開(kāi)發(fā)的基礎(chǔ)是JavaBean屬性的Inversion of Control容器技術(shù)。
Hibernate框架。Hibernate是一個(gè)開(kāi)放源碼的免費(fèi)框架,它的功能是面向Java技術(shù)的對(duì)象或關(guān)系數(shù)據(jù)庫(kù)的一種映射工具。使用它,讓程序員與關(guān)系數(shù)據(jù)庫(kù)打交道變得異常輕松方便,就像從數(shù)據(jù)庫(kù)中取出普通Java對(duì)象一樣,不必考慮如何把它們從數(shù)據(jù)庫(kù)表中取出放入對(duì)象中或放回到相應(yīng)的地方去。它的工作流程:不強(qiáng)迫修改對(duì)象代碼,也不需要去實(shí)現(xiàn)什么接口之類的要求。而惟一需要做的就是創(chuàng)建一份基于XML格式的映射文檔,并在該文檔中告訴Hibernate您希望能夠保存在數(shù)據(jù)庫(kù)中的對(duì)象類,以及它們關(guān)聯(lián)到該數(shù)據(jù)庫(kù)中的表和列的對(duì)應(yīng)關(guān)系,然后就可以要求Hibernate以對(duì)象的形式獲取數(shù)據(jù),或者把對(duì)象中的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)表中。
4程序主界面
管理員輸入用戶名密碼即可登錄本系統(tǒng)。在做登陸的時(shí)候充分體現(xiàn)出了應(yīng)用JSF開(kāi)發(fā)系統(tǒng)的快速的優(yōu)勢(shì)。JSF的表單驗(yàn)證可以集成hibernate的驗(yàn)證注解驗(yàn)證極大的降低了開(kāi)發(fā)驗(yàn)證代碼的時(shí)間,配合richfaces可以實(shí)現(xiàn)ajax驗(yàn)證能給用戶帶來(lái)更好的體驗(yàn)。
圖4人事管理界面
人事管理主要實(shí)現(xiàn)的功能人員管理,對(duì)人員信息的維護(hù);考勤管理管理員工的考勤信息;工資管理處理員工工資的計(jì)算和發(fā)放通知;工資要和考勤關(guān)聯(lián)根據(jù)考勤狀況給出工資。
查詢員工考勤信息,對(duì)員工考勤信息做修改操作,修改異?记谛畔ⅰ8鶕(jù)員工姓名查詢考勤信息如圖4所示。
查詢員工考勤信息,對(duì)員工考勤信息做修改操作,修改異?记谛畔。根據(jù)員工姓名查詢考勤信息如圖5所示:
圖5查詢考勤信息
管理員在界面上輸入員工姓名點(diǎn)擊查詢就可以查詢到員工所有的考勤信息,對(duì)于異常的考勤需要添加備注的點(diǎn)擊編輯輸入異?记谠蚣纯山o異?记谔砑觽渥。
員工工資根據(jù)當(dāng)月的考勤情況結(jié)算出當(dāng)月的所得工資。根據(jù)員工姓名月份查詢工資清單如圖6所示。
管理員在界面上輸入員工姓名通過(guò)日期控件選擇月份點(diǎn)擊查詢就可以查詢到員工工資信息。
5結(jié)束語(yǔ)
人事管理信息系統(tǒng)是眾多的信息管理系統(tǒng)(Management Information System,簡(jiǎn)稱MIS)較為典型的一種信息管理系統(tǒng),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和數(shù)據(jù)維護(hù)以及前端應(yīng)用程序的美化和開(kāi)發(fā)兩個(gè)方面。對(duì)于數(shù)據(jù)庫(kù)的建立和數(shù)據(jù)維護(hù)要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的數(shù)據(jù)庫(kù)。而對(duì)于后者則要求界面的人性化,易操作性以及應(yīng)用程序功能完備,易使用,易管理
圖6根據(jù)員工姓名二月份查詢工資清單等特點(diǎn)。企業(yè)人事管理系統(tǒng)軟件的使用與傳統(tǒng)的人工操作來(lái)比,首先是提高了信息的安全性,其次是便捷了信息的操作性,再次簡(jiǎn)便了對(duì)信息的備份和恢復(fù),而且節(jié)省了企業(yè)在人事管理方面的成本。
參考文獻(xiàn):
[1]陸惠恩,陸培恩.軟件工程[M].北京:電子工業(yè)出版社,2004.
[2]李建義.數(shù)據(jù)庫(kù)原理及應(yīng)用[M].北京:北京交通大學(xué)出版社, 2006.
[3]劉云生,盧正鼎,盧炎生.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].武漢:華中科技大學(xué)出版社,1997.
[4]沃爾斯,布雷登巴赫.SPRING IN ACTION中文版[M].北京:人民郵電出版社,2010.
[5]夏昕,曹曉鋼,唐勇.深入淺出Hibernate[M].北京:電子工業(yè)出版社,2005.
[6]徐明華,鄭經(jīng)煜.精通JSF[M].北京:人民郵電出版社, 2009.
相關(guān)熱詞搜索:人事管理系統(tǒng) JSF Spring Hibernate
熱點(diǎn)文章閱讀