鄭潔 錢(qián)育蓉 范迎迎
摘要:辦公自動(dòng)化是我國(guó)企業(yè)人事管理的未來(lái)趨勢(shì),該研究基于springMVC和hibernate框架實(shí)現(xiàn)了企業(yè)人事管理系統(tǒng)的設(shè)計(jì)和運(yùn)用。針對(duì)Web應(yīng)用在單一框架上進(jìn)行構(gòu)建存在著的擴(kuò)展性差等問(wèn)題,本研究通過(guò)采用SpringMVC和hibernate的框架整合技術(shù)幫企業(yè)提高生產(chǎn)效率。并在系統(tǒng)中建設(shè)保證企業(yè)數(shù)據(jù)的安全性,使之更合理地制定相關(guān)的人事信息。
關(guān)鍵詞:人事管理系統(tǒng);springMVC;hibernate;安全性;擴(kuò)展性
中圖分類(lèi)號(hào):TP315 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)02-0015-03
Abstract: Office automation is the trend of enterprise personnel management of our country in future.This research implement the design and application of enterprise personnel management based on SpringMVC and Hibernate. For the construction of the web application in single framework existing the problem of poor scalability and other issues, this research use the framework integrating technology of SpringMVC and Hibernate to improve enterprise productivity and ensure the security of enterprise data,which help enterprise more reasonably formulate relevant personnel information.
Key words: personnel management system; springMVC; hibernate; security; expansibility
1 背景
在企業(yè)中,人事管理是企業(yè)管理中的重點(diǎn),同時(shí)需要與其他部門(mén)進(jìn)行協(xié)同工作,數(shù)據(jù)共享,并為決策者提供全面準(zhǔn)確的數(shù)據(jù)和實(shí)時(shí)分析從而提高人事管理[1]。以前的人事管理都是人工進(jìn)行,但隨著企業(yè)數(shù)據(jù)復(fù)雜性和數(shù)量的增加,人事管理的工作量也在不斷增加。本研究的人事管理系統(tǒng)主要是為了能夠讓用戶(hù)使用計(jì)算機(jī)對(duì)人事資料進(jìn)行管理,以減輕人工的壓力和投入,其優(yōu)點(diǎn)有查找方便、可靠性高、保密性好、成本低、數(shù)據(jù)安全性等[2],并保證管理工作數(shù)據(jù)的準(zhǔn)確性和安全性,提高工作效率。
本研究在軟件技術(shù)方面,選擇了流行的MyEclipse作為開(kāi)發(fā)環(huán)境,使用MySql數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)。同時(shí)采用流行的SpringMVC和hibernate框架來(lái)進(jìn)行系統(tǒng)設(shè)計(jì),采用這種開(kāi)發(fā)模型,模型層只需很少的改動(dòng),并且數(shù)據(jù)庫(kù)的變化也不會(huì)對(duì)前端有影響,大大提高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,大大提高了開(kāi)發(fā)效率。
1.1 Spring MVC
Spring 框架是一個(gè)分層架構(gòu),由核心容器、Spring上下文、SpringAOP、Spring DAO、Spring ORM、Spring Web 模塊、SpringMVC 七個(gè)模塊構(gòu)成[3]。作為Spring框架的一個(gè)重要組成部分,SpringMVC實(shí)現(xiàn)了MVC的核心概念,它為控制器和處理程序提供了大量與此模式相關(guān)的功能[4]。并且使用Spring 提供的AOP 技術(shù),使監(jiān)控和攔截功能可以更方便地使用,并且降低了組間的耦合度,使得編碼更為簡(jiǎn)單。
SpringMVC框架主要由DispatcherServlet、處理器映射、處理器(控制器)、視圖解析器、試圖組成。SpringMVC分離了控制器、模型對(duì)象、分派器以及處理程序?qū)ο蟮慕巧?,這種分離使得應(yīng)用程序更容易進(jìn)行定制[5]。這樣的架構(gòu),可以幫助開(kāi)發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的Web應(yīng)用程序。
1.2 數(shù)據(jù)持久層Hibernate
Hibernate 處于我們項(xiàng)目持久層的位置,并且對(duì)JDBC 進(jìn)行了輕量級(jí)的封裝[6]。應(yīng)用程序?qū)ο笥蒆ibernate 在數(shù)據(jù)庫(kù)中存儲(chǔ),使Hibernate的開(kāi)發(fā)者不必編寫(xiě)大量的代碼來(lái)存儲(chǔ)和檢索對(duì)象[7]。Hibernate把底層的數(shù)據(jù)庫(kù)操作遮蔽了起來(lái),使程序員在實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)的更換時(shí),不必修改后臺(tái)的代碼,提高了程序開(kāi)發(fā)的效率。
2 系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)功能模塊設(shè)計(jì)
企業(yè)人事管理是按照員工、管理員兩種不同角色來(lái)劃分功能模塊。員工主要操作的功能有:工資管理、培訓(xùn)管理、檔案管理等,主要是對(duì)于員工自己的工資、培訓(xùn)、獎(jiǎng)懲、考勤進(jìn)行管理,員工只有查看和查找的權(quán)利,沒(méi)有修改的權(quán)利,如果在工資、考勤等數(shù)據(jù)方面出現(xiàn)錯(cuò)誤,只有具有特定權(quán)限的管理員才能進(jìn)行處理,員工不能隨意更改,以防止員工的隨意更改造成的一些不必要的麻煩。
在系統(tǒng)中以管理員身份登錄的用戶(hù),稱(chēng)為管理員。管理員主要負(fù)責(zé)維護(hù)該系統(tǒng)、管理人員信息和監(jiān)督人員操作。而管理員又根據(jù)其被分配的權(quán)限擁有不同職責(zé),各司其職,比如有的管理員無(wú)法對(duì)操作記錄、權(quán)限管理或員工部分信息進(jìn)行操作,只有少數(shù)管理員擁有對(duì)其他管理員的權(quán)限管理。
管理員和員工進(jìn)入系統(tǒng)就會(huì)看到通知布告,有通知布告管理權(quán)限的管理員可以根據(jù)當(dāng)天的實(shí)際情況添加新的內(nèi)容概要,比如新聞時(shí)事或者是公司放假、開(kāi)會(huì)、最新成果等,以便使企業(yè)中的全部人員都可以準(zhǔn)確及時(shí)的收到信息,方便消息傳遞。并且在檔案管理中,管理員可以上傳相應(yīng)員工的照片和文件,方便以后查看和查找。系統(tǒng)的具體功能模塊如圖1所示。
2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
對(duì)于本研究的系統(tǒng),經(jīng)過(guò)進(jìn)行仔細(xì)地分析后,抽象出了檔案信息、工資信息、權(quán)限信息、簽到信息、培訓(xùn)信息、通告信息等實(shí)體,以及各個(gè)實(shí)體具有的屬性。許多表由于屬性太多,標(biāo)示圖之間的關(guān)系時(shí)會(huì)出現(xiàn)一些困難,所以在這里會(huì)略掉一些。并用PowerDesigner進(jìn)行了該系統(tǒng)的概念數(shù)據(jù)模型(CDM)設(shè)計(jì),并在畫(huà)出概念模型后,通過(guò)PowerDesigner工具生成數(shù)據(jù)庫(kù)管理系統(tǒng)的物理數(shù)據(jù)模型(PDM),然后生成相應(yīng)的數(shù)據(jù)庫(kù)語(yǔ)句,如圖2所示得出了系統(tǒng)數(shù)據(jù)庫(kù)的E-R圖。
在這些表中用戶(hù)表和大多數(shù)表相連,它是登錄和判斷管理員權(quán)限的重要依據(jù)??记谥械暮灥脚袛嗍歉鶕?jù)上班時(shí)間來(lái)判斷的,有遲到、簽到、早退三個(gè)記錄。而上班時(shí)間由具有相應(yīng)權(quán)限的管理員在系統(tǒng)功能中進(jìn)行設(shè)置,并不是固定的。用戶(hù)的相片在數(shù)據(jù)庫(kù)中存放的是圖片地址,然后在Web頁(yè)面顯示出來(lái)。
3 系統(tǒng)核心設(shè)計(jì)和實(shí)現(xiàn)
3.1 系統(tǒng)數(shù)據(jù)安全備份
企業(yè)人事管理系統(tǒng)中的數(shù)據(jù)是非常重要的,如果系統(tǒng)數(shù)據(jù)意外丟失,會(huì)對(duì)企業(yè)運(yùn)作造成非常不好的影響。所以在本研究系統(tǒng)中的數(shù)據(jù)備份模塊設(shè)計(jì)了數(shù)據(jù)庫(kù)數(shù)據(jù)的導(dǎo)入和導(dǎo)出,數(shù)據(jù)的導(dǎo)出生成含有sql語(yǔ)句的文本文件,如果因?yàn)槟承┮馔馇闆r數(shù)據(jù)丟失,管理員進(jìn)入數(shù)據(jù)備份頁(yè)面,點(diǎn)擊導(dǎo)入按鈕,導(dǎo)入數(shù)據(jù),避免對(duì)企業(yè)造成嚴(yán)重的損失。數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出的思想主要是通過(guò)Java代碼來(lái)實(shí)現(xiàn)命令窗口的調(diào)用執(zhí)行MySQL導(dǎo)入導(dǎo)出的命令。
3.2 數(shù)據(jù)的審計(jì)跟蹤
數(shù)據(jù)的審計(jì)跟蹤是為了監(jiān)視管理員和員工進(jìn)行的操作而設(shè)計(jì)的,為了防止管理員對(duì)員工的信息進(jìn)行有意的錯(cuò)誤操作或者失誤的操作,那么在進(jìn)行追究責(zé)任時(shí)就需要查看操作記錄,來(lái)予以處罰或警戒。一般不建議給大部分管理員分配操作記錄管理的權(quán)限,以免對(duì)其本身的有意的錯(cuò)誤記錄進(jìn)行修改,一般是由少數(shù)權(quán)利比較大的管理員進(jìn)行使用。
數(shù)據(jù)的審計(jì)跟蹤使用了Spring的AOP進(jìn)行實(shí)現(xiàn),用來(lái)進(jìn)行消息的截取。在使用AOP前需要進(jìn)行配置相應(yīng)的配置文件,并引入AOP架包。切入點(diǎn)的概念是AOP的關(guān)鍵,它提供聲明式事務(wù)管理可以應(yīng)用于一組想要對(duì)多個(gè)對(duì)象進(jìn)行操作的方法。它的通知類(lèi)型包括Around、After、Before、Throws,使用者可以根據(jù)自己需要來(lái)進(jìn)行選擇。在本文系統(tǒng)使用AOP,在一個(gè)方法中通過(guò)攔截多個(gè)類(lèi)的行為操作,把管理員或員工對(duì)系統(tǒng)操作,例如管理員修改員工工資、管理員增刪改查員工信息等都記錄下來(lái),并且可以對(duì)操作行為進(jìn)行模糊查詢(xún)和時(shí)間查詢(xún)。有利于規(guī)范和監(jiān)督管理員或員工的行為,使用AOP減少了代碼的冗余和維護(hù)難度。其核心代碼如下:
3.3 員工工資報(bào)表生成
員工工資數(shù)據(jù)是企業(yè)的重要數(shù)據(jù),對(duì)企業(yè)工資調(diào)整和執(zhí)法部門(mén)進(jìn)行審查時(shí),都有著重要的意義。本文系統(tǒng)使用POI中HSSF方式生成員工工資的Excel表,可以導(dǎo)出系統(tǒng)中經(jīng)過(guò)模糊條件查找得到的員工的Excel工資表,如某一部門(mén)的工資報(bào)表或者個(gè)人的工資表,也可以導(dǎo)出所有員工的工資報(bào)表,方便企業(yè)管理者進(jìn)行審查。除了POI中HSSF方式外,Java中 的Jxl方式也可以操作Excel,它是一個(gè)開(kāi)源的Java API。但是相比較而言,POI雖然沒(méi)有Jxl簡(jiǎn)單,但POI的功能比較強(qiáng)大。主要步驟如圖3:
4 結(jié)束語(yǔ)
本研究中的企業(yè)人事管理系統(tǒng)通過(guò)數(shù)據(jù)備份、數(shù)據(jù)審計(jì)追蹤等操作,使企業(yè)的數(shù)據(jù)信息能夠安全有效進(jìn)行操作,避免數(shù)據(jù)丟失給企業(yè)造成的損失。并且使用springMVC和hibernate框架,使整個(gè)系統(tǒng)易于擴(kuò)展和維護(hù),降低系統(tǒng)的維護(hù)成本。本研究中的系統(tǒng)不僅僅可以公司的管理效率,而且可以幫助領(lǐng)導(dǎo)人為企業(yè)制定合理的經(jīng)營(yíng)方針與決策,為公司帶來(lái)更大利益。
參考文獻(xiàn):
[1] 企業(yè)人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 企業(yè)技術(shù)開(kāi)發(fā), 2015(12): 1006-8937.
[2] 呂俊瑞, 羅學(xué)剛. 基于 SSH 的高校人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電腦知識(shí)與技術(shù), 2010(6): 5157-5159.
[3] 張瑞青, 李鐵柱. 基于 SpringMVC 的用戶(hù)登錄系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 科技信息, 2012(10): 246-247.
[4] 薛峰, 梁鋒. 基于Spring MVC框架的Web研究與應(yīng)用[J]. 合肥工業(yè)大學(xué)學(xué)報(bào), 2012(03).
[5] 陳輝, 趙洪升, 張艷春.Struts + Spring + Hibernate 框架的整合實(shí)現(xiàn)[J]. 河南大學(xué)學(xué)報(bào):自然科學(xué)版, 2010(6): 642-645.
[6] 趙喆, 卞藝杰, 李亞冰, 等. S2SH 和SOA 科技查新管理平臺(tái)的設(shè)計(jì)[J]. 武漢理工大學(xué)學(xué)報(bào):信息與管理工程版, 2013(1): 56-60.
[7] 萬(wàn)偉韜. 輕量級(jí)J2EE中整合Struts、Spring、Hibernate的研究與分析[J]. 計(jì)算機(jī)光盤(pán)軟件與應(yīng)用, 2013(22): 83-84.
[8] 董海燕. 基于JSF、Spring 和 Hibernate的技術(shù)資料綜合管理系統(tǒng)設(shè)計(jì)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2012(5): 212-215.
[9] 王佳康, 李明, 買(mǎi)爾夏提﹒爾肯. 基于SpringMVC 架構(gòu)的旅游攻略 網(wǎng)站前臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電腦知識(shí)與技術(shù), 2015(8).