基于 Web的工資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于 Web的工資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于 Web的工資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于 Web的工資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于 Web的工資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、本科生畢業(yè)論文(設(shè)計(jì)) 基于 Web 的工資管理系統(tǒng)的設(shè)計(jì)與實(shí) 現(xiàn) 姓名 學(xué)號(hào) 專(zhuān)業(yè) 指導(dǎo)教師 2011 年 5 月 25 日 摘要 隨著現(xiàn)代企業(yè)管理制度的建立和軟件產(chǎn)業(yè)的迅速發(fā)展,企業(yè)人事勞資管理系統(tǒng)已成 為企業(yè)進(jìn)行日常管理工作的重要工具,加強(qiáng)人事勞資管理類(lèi)軟件的開(kāi)發(fā)和運(yùn)作已成為提 高企業(yè)管理效率的重要手段,而工資管理是企業(yè)人事勞資管理的重要組成部分。 本文論述了基于 Web 的工資管理系統(tǒng)的開(kāi)發(fā)和實(shí)現(xiàn)過(guò)程,主要包括系統(tǒng)開(kāi)發(fā)技術(shù)、 系統(tǒng)需求分析、系統(tǒng)概要分析與設(shè)計(jì)、系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)等。重點(diǎn)介紹了數(shù)據(jù)庫(kù)的設(shè) 計(jì)及系統(tǒng)的實(shí)現(xiàn)過(guò)程,此外還介紹了系統(tǒng)框架結(jié)構(gòu)。本系統(tǒng)采用了目前較為流行的 SSH 組

2、合框架開(kāi)發(fā)技術(shù)。在表示層采用 Struts 技術(shù)實(shí)現(xiàn)了經(jīng)典的 MVC 模式,規(guī)范了表 示層的開(kāi)發(fā)過(guò)程。在業(yè)務(wù)層中,使用 Spring 組件技術(shù),用容器管理表示層的控制器和數(shù) 據(jù)層的數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象,以提高系統(tǒng)的可擴(kuò)展性能。在數(shù)據(jù)持久層,使用 Hibernate 框架 技術(shù),實(shí)現(xiàn)了數(shù)據(jù)與業(yè)務(wù)的分離,降低了系統(tǒng)的耦合度。開(kāi)發(fā)結(jié)果表明,將 Struts、Spring 和 Hibernate 技術(shù)整合為一種組合型多框架,極大的提高了系統(tǒng)的可維 護(hù)性、可擴(kuò)展性、可移植性和組件的復(fù)用性。 關(guān)鍵詞:工資管理;SSH 框架;MVC 模式 Abstract With the establishment of mod

3、ern enterprise management system and the rapid development of software industry, business personnel labor management system has become the daily management of an important tool to strengthen the personnel labor management class software development and operation of business management to improve eff

4、iciency has become an important means of and wages of personnel management is an important part of labor management. This papers discusses the Web-based payroll system in the development and implementation process, including system development technology, system requirements analysis, system profili

5、ng and design, detailed design and implementation. Focuses on database design and system implementation process, the framework also introduces the system structure. The system uses a combination of the current framework of the more popular SSH development technology. In the presentation layer using

6、Struts technology to achieve the classic MVC pattern, the presentation layer specification of the development process. In the business layer, the use of Spring component technology, with container-managed presentation layer of the controller and the data layer data access objects to improve system s

7、calability. In the data persistence layer, Hibernate framework using technology to achieve the separation of data and services, reducing the system coupling. The results show that the development will be Struts, Spring and Hibernate technology integration as a combination of multi frame, greatly imp

8、roving system maintainability, scalability, portability and reusability of components. Key Words: payroll management, SSH framework, MVC mode 目錄 1 引 言 .1 1.1 編寫(xiě)目的 .1 1.2 項(xiàng)目背景 .1 1.3 系統(tǒng)概述 .1 1.3.1 系統(tǒng)說(shuō)明 .1 1.3.2 具體要求 .1 1.3.3 系統(tǒng)設(shè)置 .2 2 系統(tǒng)開(kāi)發(fā)技術(shù) .3 2.1 JSP 程序設(shè)計(jì)語(yǔ)言簡(jiǎn)介.3 2.2 JAVA 程序設(shè)計(jì)語(yǔ)言簡(jiǎn)介.3 2.3 SSH 框架簡(jiǎn)介.3 2.

9、4 MYSQL 數(shù)據(jù)庫(kù)簡(jiǎn)介.4 2.5 TOMCAT 服務(wù)器簡(jiǎn)介.4 3 系統(tǒng)需求分析 .5 3.1 系統(tǒng)設(shè)計(jì)目標(biāo) .5 3.2 系統(tǒng)角色 .5 3.2.1 普通用戶(hù) .5 3.2.2 管理員 .5 3.3 系統(tǒng)需求模塊 .5 3.3.1 登錄模塊 .5 3.3.2 前臺(tái)瀏覽模塊 .5 3.3.3 后臺(tái)管理模塊 .6 3.4 系統(tǒng)設(shè)計(jì)的特點(diǎn) .6 4 系統(tǒng)概要分析與設(shè)計(jì) .7 4.1 系統(tǒng)總體結(jié)構(gòu) .7 4.2 前臺(tái)功能分析與設(shè)計(jì) .7 4.3 后臺(tái)功能分析與設(shè)計(jì) .8 4.4 數(shù)據(jù)庫(kù)分析與設(shè)計(jì) .8 4.4.1 數(shù)據(jù)庫(kù)設(shè)計(jì) .9 4.4.2 表設(shè)計(jì) .9 5 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) .12 5.

10、1 系統(tǒng)登錄模塊 .12 5.2 前臺(tái)功能模塊 .12 5.2.1 查看個(gè)人信息模塊 .13 5.2.2 查看考勤記錄模塊 .13 5.2.3 查看工資明細(xì)模塊 .14 5.2.4 申請(qǐng)假期模塊 .15 5.2.5 修改密碼模塊 .15 5.3 后臺(tái)功能模塊 .16 5.3.1 員工信息管理模塊 .16 5.3.2 考勤記錄管理模塊 .18 5.3.3 工資管理模塊 .19 5.3.4 部門(mén)信息管理模塊 .21 5.3.5 崗位信息管理模塊 .21 總 結(jié) .23 參考文獻(xiàn) .24 致 謝 .25 附 錄 .26 1 引 言 1 1. .1 1 編編寫(xiě)寫(xiě)目目的的 隨著計(jì)算機(jī)技術(shù)的發(fā)展,企業(yè)管理

11、越來(lái)越趨于自動(dòng)化,而工資管理是企業(yè)管理的重 要組成部分,它與企業(yè)的財(cái)務(wù)管理、人事管理有著密切的聯(lián)系。由于企業(yè)員工工資結(jié)構(gòu) 存在一定的規(guī)律性,工資發(fā)放在時(shí)間上和操作上存在一定的重復(fù)性,這使得企事業(yè)單位 工資管理計(jì)算機(jī)化成為可能。本系統(tǒng)在此基礎(chǔ)上實(shí)現(xiàn)了工資信息查詢(xún)、人員信息管理、 報(bào)表生成等功能。用戶(hù)只要使用 IE 瀏覽器訪(fǎng)問(wèn)相關(guān)站點(diǎn),輸入正確的用戶(hù)名和密碼成 功登錄后,普通用戶(hù)便可查詢(xún)自己的工資情況和其他相關(guān)信息。對(duì)管理員來(lái)說(shuō)使用起來(lái) 也非常的方便快捷,可以進(jìn)行科學(xué)、合理的對(duì)員工工資和人員進(jìn)行管理。 1 1. .2 2 項(xiàng)項(xiàng)目目背背景景 項(xiàng)目名稱(chēng):基于 Web 的工資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 項(xiàng)目的

12、提出者:馬春輝 開(kāi)發(fā)者:馬春輝 項(xiàng)目簡(jiǎn)介:本系統(tǒng)主要實(shí)現(xiàn)員工工資和員工信息管理。 1 1. .3 3 系系統(tǒng)統(tǒng)概概述述 1.3.1 系統(tǒng)說(shuō)明 該系統(tǒng)著眼于員工工資業(yè)務(wù)的實(shí)際,對(duì)發(fā)放工資業(yè)務(wù)進(jìn)行了細(xì)致的分析、研究,認(rèn) 真分析其業(yè)務(wù)流程,采用靈活方便的計(jì)算處理方式,改變手工操作的繁雜、低效、不宜 操作、靈活性差的特點(diǎn),提高其工作效率和效益。實(shí)現(xiàn)員工工資管理業(yè)務(wù)的制度化、現(xiàn) 代化的管理。工資管理系統(tǒng)是為了能夠迅速、準(zhǔn)確地反映出用戶(hù)需要的各種信息,及時(shí) 方便的進(jìn)行各種檢索,從而為決策者做出準(zhǔn)確的判斷提供強(qiáng)有力的支持。計(jì)算機(jī)的使用 使得企業(yè)管理變得更加合理,更加規(guī)范,更加科學(xué)。 1.3.2 具體要求 系

13、統(tǒng)數(shù)據(jù)初始化;員工基本信息數(shù)據(jù)的查詢(xún)、添加、修改、刪除;企業(yè)工資結(jié)構(gòu)的 基本設(shè)定;企業(yè)工資參數(shù)的設(shè)定與管理;員工考勤的管理;員工個(gè)人工資表的查詢(xún);員 工工資的瀏覽、修改、添加、刪除;系統(tǒng)的維護(hù)包括用戶(hù)的操作權(quán)限、密碼修改。 1.3.3 系統(tǒng)設(shè)置 員工信息、部門(mén)信息、崗位信息、考勤記錄等只能被管理員修改,添加,刪除。 員工可以查看個(gè)人信息、考勤記錄、工資信息等。 2 系統(tǒng)開(kāi)發(fā)技術(shù) 2 2. .1 1 J JS SP P 程程序序設(shè)設(shè)計(jì)計(jì)語(yǔ)語(yǔ)言言簡(jiǎn)簡(jiǎn)介介 JSP(Java Server Pages)是由 Sun Microsystems 公司倡導(dǎo)、許多公司參與一起 建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)。JSP

14、技術(shù)是在傳統(tǒng)的網(wǎng)頁(yè) HTML 文件中插入 Java 程序段 (Scriptlet)和 JSP 標(biāo)記(tag),從而形成 JSP 文件,插入的 Java 程序段可以操作 數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等。JSP 頁(yè)面由 HTML 代碼和嵌入其中的 Java 代碼所組成。服務(wù) 器在頁(yè)面被客戶(hù)端請(qǐng)求以后對(duì)這些 Java 代碼進(jìn)行處理,然后將生成的 HTML 頁(yè)面返回給 客戶(hù)端的瀏覽器。因此,客戶(hù)端只要有瀏覽器就能瀏覽。 JSP 技術(shù)的設(shè)計(jì)目的是使得構(gòu)造基于 Web 的應(yīng)用程序更加容易和快捷,而這些應(yīng)用 程序能夠與各種 Web 服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開(kāi)發(fā)工具共同工作。 JSP 規(guī)范是 Web 服務(wù)器、應(yīng)用

15、服務(wù)器、交易系統(tǒng)、以及開(kāi)發(fā)工具供應(yīng)商間廣泛合作的結(jié)果。在傳統(tǒng) 的網(wǎng)頁(yè) HTML 文件(*htm,*.html)中加入 Java 程序片段(Scriptlet)和 JSP 標(biāo)記(tag), 就構(gòu)成了 JSP 網(wǎng)頁(yè)(*.jsp)。Web 服務(wù)器在遇到訪(fǎng)問(wèn) JSP 網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中 的程序片段,然后將執(zhí)行結(jié)果以 HTML 格式返回給客戶(hù)。程序片段可以操作數(shù)據(jù)庫(kù)、重 新定向網(wǎng)頁(yè)以及發(fā)送 email 等,這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都 在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶(hù)端的僅是得到的結(jié)果,對(duì)客戶(hù)瀏覽器的要求最低, 可以實(shí)現(xiàn)無(wú) Plugin,無(wú) ActiveX,無(wú) Java App

16、let,甚至無(wú) Frame。 2 2. .2 2 J Ja av va a 程程序序設(shè)設(shè)計(jì)計(jì)語(yǔ)語(yǔ)言言簡(jiǎn)簡(jiǎn)介介 Java 語(yǔ)言是美國(guó) Sun 公司于 1995 年推出的一種簡(jiǎn)單的、面向?qū)ο蟮?、分布式的?可解釋的、鍵壯的、安全的、結(jié)構(gòu)的、中立的、可移植的、性能很優(yōu)異的多線(xiàn)程的、動(dòng) 態(tài)的語(yǔ)言。其前身為 OAK 語(yǔ)言,是 SUN 公司為一些消費(fèi)性電子產(chǎn)品而設(shè)計(jì)的一個(gè)通用環(huán) 境。他們最初的目的只是為了開(kāi)發(fā)一種獨(dú)立于平臺(tái)的軟件技術(shù)。經(jīng)過(guò) Sun 公司的工程師 的不懈努力以及全世界無(wú)數(shù)的編程愛(ài)好者的使用,Java 終于發(fā)展成為今天這樣一個(gè)集 桌面(J2SE)、網(wǎng)絡(luò)(J2EE)、移動(dòng)平臺(tái)(J2ME)應(yīng)用為一

17、體的功能強(qiáng)大的編程語(yǔ)言。目前 Java 由于其平臺(tái)無(wú)關(guān)及分布式特性,最重要的應(yīng)用是在網(wǎng)絡(luò)應(yīng)用上。 2 2. .3 3 S SS SH H 框框架架簡(jiǎn)簡(jiǎn)介介 SSH 框架是 Spring+Struts+Hibernate 組合框架的簡(jiǎn)稱(chēng)。 Spring 是一個(gè)開(kāi)源框架,它由 Rod Johnson 創(chuàng)建。它是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的 復(fù)雜性而創(chuàng)建的。Spring 使用基本的 JavaBean 來(lái)完成以前只可能由 EJB 完成的事情。 然而,Spring 的用途不僅限于服務(wù)器端的開(kāi)發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度 而言,任何 Java 應(yīng)用都可以從 Spring 中受益。 Struts 是一種開(kāi)

18、發(fā)源代碼的 Web 應(yīng)用開(kāi)發(fā)框架,Struts 架構(gòu) MVC(Model View Controller,模型-視圖-控制器),將視圖和模型分離,用戶(hù)界面和事務(wù)邏輯分離,簡(jiǎn) 化了程序開(kāi)發(fā)者的開(kāi)發(fā)和維護(hù)工作,提高了系統(tǒng)的靈活性、重用性和可維護(hù)性。 Hibernate 是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì) JDBC 進(jìn)行了非常輕量級(jí) 的對(duì)象封裝,使得 Java 程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 Hibernate 可以應(yīng)用在任何使用 JDBC 的場(chǎng)合,既可以在 Java 的客戶(hù)端程序使用,也可 以在 Servlet/JSP 的 Web 應(yīng)用中使用,最具革命意義的是,Hiber

19、nate 可以在應(yīng)用 EJB 的 J2EE 架構(gòu)中取代 CMP,完成數(shù)據(jù)持久化的重任。 2 2. .4 4 M My ys sq ql l 數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)簡(jiǎn)簡(jiǎn)介介 MySQL 是一個(gè)精巧的 SQL 數(shù)據(jù)庫(kù)管理系統(tǒng),雖然它不是開(kāi)放源代碼的產(chǎn)品,但在某 些情況下你可以自由使用。由于它的強(qiáng)大功能、靈活性、豐富的應(yīng)用編程接口(API) 以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛(ài)好者甚至是商業(yè)軟件用戶(hù)的青睞,特別是 與 Apache 和 PHP/PERL 結(jié)合,為建立基于數(shù)據(jù)庫(kù)的動(dòng)態(tài)網(wǎng)站提供了強(qiáng)大動(dòng)力。MySQL 是 一個(gè)真正的多用戶(hù)、多線(xiàn)程 SQL 數(shù)據(jù)庫(kù)服務(wù)器。 2 2. .5 5 T To om mc

20、 ca at t 服服務(wù)務(wù)器器簡(jiǎn)簡(jiǎn)介介 Tomcat 很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支 持負(fù)載平衡與郵件服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中, 任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。 Tomcat 是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪(fǎng)問(wèn)用戶(hù)不是很多的場(chǎng)合 下被普遍使用,是開(kāi)發(fā)和調(diào)試 JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為, 當(dāng)在一臺(tái)機(jī)器上配置好 Apache 服務(wù)器,可利用它響應(yīng)對(duì) HTML 頁(yè)面的訪(fǎng)問(wèn)請(qǐng)求。實(shí)際 上 Tomcat 部分是 Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行 t

21、omcat 時(shí),它實(shí)際上作為一個(gè)與 Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 3 系統(tǒng)需求分析 3 3. .1 1 系系統(tǒng)統(tǒng)設(shè)設(shè)計(jì)計(jì)目目標(biāo)標(biāo) 員工工資管理系統(tǒng)用來(lái)對(duì)員工工資及員工相關(guān)信息進(jìn)行管理。 本系統(tǒng)可以方便管理員管理員工工資及相關(guān)信息,為管理員提供高效的工作效率與 質(zhì)量保證等,主要包括管理員登錄、員工信息管理、工資結(jié)算管理、工資結(jié)構(gòu)設(shè)置、考 勤信息管理、部門(mén)信息管理、崗位信息管理。 本系統(tǒng)還可以方便員工查看個(gè)人工資詳細(xì)情況,主要包括查看個(gè)人信息及個(gè)人工資 明細(xì),并可以申請(qǐng)假期。 3 3. .2 2 系系統(tǒng)統(tǒng)角角色色 3.2.1 普通用戶(hù) 員工通過(guò)該系統(tǒng)可以查看個(gè)人相關(guān)信息、每月工資信息、每月

22、考勤信息,可以修改 密碼,并可以向上級(jí)申請(qǐng)假期。 3.2.2 管理員 管理員通過(guò)該系統(tǒng)可以管理員工信息(包括增加、刪除、修改、查看員工信息)、管 理員工工資信息(包括查看員工工資信息、工資結(jié)算、設(shè)置工資結(jié)構(gòu))、管理部門(mén)信息 (包括對(duì)部門(mén)信息的增刪改查)、管理崗位信息(包括對(duì)崗位信息的增刪改查)。 3 3. .3 3 系系統(tǒng)統(tǒng)需需求求模模塊塊 3.3.1 登錄模塊 關(guān)聯(lián)角色:?jiǎn)T工、管理員。 需求描述:?jiǎn)T工登錄該系統(tǒng)進(jìn)入前臺(tái)瀏覽頁(yè)面,管理員登錄該系統(tǒng)進(jìn)入后臺(tái)管理頁(yè) 面。 備注說(shuō)明:只有合法用戶(hù)才能進(jìn)入相關(guān)界面。 3.3.2 前臺(tái)瀏覽模塊 關(guān)聯(lián)角色:?jiǎn)T工。 需求描述:?jiǎn)T工可以查看個(gè)人詳細(xì)信息、工資信

23、息、考勤信息,可以申請(qǐng)假期。 備注說(shuō)明:?jiǎn)T工只能查看個(gè)人相關(guān)信息。 3.3.3 后臺(tái)管理模塊 關(guān)聯(lián)角色:管理員。 需求描述:管理員可以進(jìn)行員工信息管理、員工工資管理、部門(mén)信息管理、崗位信 息管理、工資管理(包括工資結(jié)算、工資結(jié)構(gòu)設(shè)置)。 3 3. .4 4 系系統(tǒng)統(tǒng)設(shè)設(shè)計(jì)計(jì)的的特特點(diǎn)點(diǎn) 采用 MVC(Model、View、Control)架構(gòu),結(jié)合 SSH(Spring+Struts+Hibernate)框架 實(shí)現(xiàn)系統(tǒng)的功能。 MVC:當(dāng)前非常流行的一種系統(tǒng)架構(gòu)模式。MVC 作為模式:提供一個(gè)原則,可以按 照模型(model)、界面(view)、控制(control)等角色把一個(gè)應(yīng)用系統(tǒng)的各個(gè)

24、部分 之間的耦合解脫、分割開(kāi)來(lái)。 MVC(Model-view-controller pattern)模式由三部分組成:模型(Model):是一 組表示應(yīng)用系統(tǒng)商業(yè)邏輯的對(duì)象。它通常包括表示商業(yè)抽象的類(lèi)(如:賬號(hào)、采購(gòu)等等) 和現(xiàn)實(shí)世界的對(duì)象(如職員、客戶(hù)等)。視圖(View):是用一種向用戶(hù)表達(dá)信息的具 體方式。要理解視圖的捷徑是把視圖想象成為一個(gè)具體的網(wǎng)頁(yè)或者屏幕,它能夠給用戶(hù) 提供一組互相有關(guān)的信息。 控制(Controller):是應(yīng)用系統(tǒng)處理具體流程和導(dǎo)向的 核心部分。它把模型對(duì)象給出的信息翻譯成視圖可以理解的形式,并且處理系統(tǒng)流程的 走向,例如視圖在下一個(gè)回應(yīng)中將會(huì)給用戶(hù)什么樣的反

25、饋。 MVC 的關(guān)鍵是商業(yè)模型的設(shè)計(jì)與實(shí)現(xiàn)可以獨(dú)立于應(yīng)用系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)(控制) 和界面的設(shè)計(jì)與實(shí)現(xiàn)(視圖)。 本系統(tǒng)采用的是 SSH(Struts + Spring + Hibernate)三層架構(gòu)。Struts 用于表 現(xiàn)層,負(fù)責(zé)頁(yè)面數(shù)據(jù)提取,頁(yè)面動(dòng)作響應(yīng)。Spring 是一種輕量級(jí)的框架模型,主要負(fù) 責(zé)業(yè)務(wù)邏輯層的對(duì)象創(chuàng)建,表現(xiàn)層的 Action 的創(chuàng)建,以及持久層的 DAO 的創(chuàng)建。 Hibernate 負(fù)責(zé)把內(nèi)存中的數(shù)據(jù)對(duì)象保存到數(shù)據(jù)庫(kù)中。 在 SSH 三層架構(gòu)中,主要用 Struts 來(lái)實(shí)現(xiàn)對(duì)頁(yè)面的響應(yīng)就頁(yè)面跳轉(zhuǎn)。當(dāng)用戶(hù)向服 務(wù)器發(fā)送某一個(gè)請(qǐng)求,這個(gè)請(qǐng)求會(huì)被服務(wù)器(Tomcat

26、)接收到,服務(wù)器會(huì)根據(jù)請(qǐng)求的內(nèi) 容,將這個(gè)請(qǐng)求發(fā)送給相應(yīng)的 Servlet 實(shí)例進(jìn)行處理。Servlet 會(huì)根據(jù)其內(nèi)容,去生成 相應(yīng)的 Action 實(shí)例。本程序中,Struts 將 Action 的創(chuàng)建工作交給了 Spring 的代理類(lèi) 來(lái)完成,創(chuàng)建這個(gè)實(shí)例后,將這個(gè)實(shí)例注入,由 Struts 調(diào)用 Action 中的相應(yīng)方法。 Action 中可以配置一個(gè)或多個(gè) Service 對(duì)象,Action 調(diào)用 Service 中的方法進(jìn)行業(yè)務(wù) 處理。Service 中通常會(huì)有一個(gè)或多個(gè) DAO 的對(duì)象,DAO 繼承了 Hibernate 的借口,用 來(lái)處理數(shù)據(jù)庫(kù)的操作。而 Action,Serv

27、ice,DAO 的創(chuàng)建與注入,都是由 Spring 的 Bean 工廠(chǎng)來(lái)實(shí)現(xiàn)的。 4 系統(tǒng)概要分析與設(shè)計(jì) 4 4. .1 1 系系統(tǒng)統(tǒng)總總體體結(jié)結(jié)構(gòu)構(gòu) 本系統(tǒng)主要由登錄模塊、前臺(tái)員工瀏覽模塊、后臺(tái)管理員管理模塊構(gòu)成。普通員工 正確登錄后進(jìn)入前臺(tái)員工瀏覽界面,管理員正確登錄后進(jìn)入后臺(tái)管理員管理界面。 系統(tǒng)結(jié)構(gòu)圖如圖 4-1 所示: 圖 4-1 系統(tǒng)結(jié)構(gòu)圖 4 4. .2 2 前前臺(tái)臺(tái)功功能能分分析析與與設(shè)設(shè)計(jì)計(jì) 前臺(tái)功能主要有員工查看個(gè)人信息、查看工資明細(xì)、查看考勤信息、申請(qǐng)假期、修 改登錄密碼等。 前臺(tái)頁(yè)面設(shè)計(jì)如圖 4-2 所示: 圖 4-2 前臺(tái)頁(yè)面跳轉(zhuǎn)圖 4 4. .3 3 后后臺(tái)臺(tái)功功能

28、能分分析析與與設(shè)設(shè)計(jì)計(jì) 后臺(tái)功能主要有員工信息管理(包括增加、刪除、修改、查看員工信息)、員工工 資管理(包括查看員工工資、設(shè)置崗位工資結(jié)構(gòu)、工資結(jié)算等)、考勤記錄管理(考勤 內(nèi)容有出差、加班、請(qǐng)假、遲到早退、曠工等)、部門(mén)信息管理(包括增加、刪除、修 改、查看員工信息)、崗位信息管理(包括增加、刪除、修改、查看崗位信息)。 后臺(tái)頁(yè)面設(shè)計(jì)如圖 4-3 所示: 圖 4-3 后臺(tái)頁(yè)面跳轉(zhuǎn)圖 4 4. .4 4 數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)分分析析與與設(shè)設(shè)計(jì)計(jì) 由于企業(yè)組織結(jié)構(gòu)呈樹(shù)形,即一個(gè)企業(yè)有多個(gè)部門(mén);一個(gè)部門(mén)有多個(gè)崗位,一個(gè)崗 位對(duì)應(yīng)一個(gè)崗位工資結(jié)構(gòu),每個(gè)崗位有多個(gè)員工;每個(gè)員工有多條考勤記錄和工資發(fā)放 記錄

29、,一個(gè)員工對(duì)應(yīng)一個(gè)系統(tǒng)用戶(hù)身份。從上往下看,基本都是一對(duì)多或一對(duì)一的關(guān)系, 而在本系統(tǒng)中我使用了 Hibernate 技術(shù)和 Java 編程思想,在建立實(shí)體抽象時(shí),分別作 了一些對(duì)應(yīng)的引用來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)表之間的關(guān)聯(lián),這樣不僅充分運(yùn)用了面向?qū)ο缶幊痰乃?想,并簡(jiǎn)化了表的結(jié)構(gòu),使得數(shù)據(jù)庫(kù)管理更合理化。 4.4.1 數(shù)據(jù)庫(kù)設(shè)計(jì) 建立數(shù)據(jù)庫(kù) employeemanage,包含的表如圖 4-4 所示: 圖 4-4 數(shù)據(jù)庫(kù)表圖 4.4.2 表設(shè)計(jì) 部門(mén)表如圖 4-5 所示: 圖 4-5 部門(mén)表 崗位表如圖 4-6 所示: 圖 4-6 崗位表 員工表如圖 4-7 所示: 圖 4-7 員工表 崗位工資結(jié)構(gòu)表如圖

30、 4-8 所示: 圖 4-8 崗位工資結(jié)構(gòu)表 用戶(hù)表如圖 4-9 所示: 圖 4-9 用戶(hù)表 工資記錄表如圖 4-10 所示: 圖 4-10 工資記錄表 考勤記錄表如圖 4-11 所示: 圖 4-11 考勤記錄表 考勤表如圖 4-12 所示: 圖 4-12 考勤表 5 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 系統(tǒng)功能模塊主要有登錄模塊、前臺(tái)功能模塊、后臺(tái)功能模塊等。 5 5. .1 1 系系統(tǒng)統(tǒng)登登錄錄模模塊塊 系統(tǒng)用戶(hù)輸入正確的用戶(hù)名和密碼可登錄系統(tǒng)。若為普通員工則進(jìn)入前臺(tái)瀏覽首頁(yè), 若為管理員則進(jìn)入后臺(tái)管理頁(yè)面。 系統(tǒng)登錄頁(yè)面如圖 5-1 所示: 圖 5-1 系統(tǒng)登錄頁(yè)面 實(shí)現(xiàn)代碼部分如下: String i

31、dentify=userService.login(user); if(identify.equals(admin) return adminLogin_succ; else if(identify.equals(emp) return empLogin_succ; else return login_fail; 5 5. .2 2 前前臺(tái)臺(tái)功功能能模模塊塊 前臺(tái)功能模塊主要由查看個(gè)人信息、考勤記錄、工資明細(xì),申請(qǐng)假期,修改密碼等 模塊組成。 前臺(tái)首頁(yè)如圖 5-2 所示: 圖 5-2 前臺(tái)首頁(yè) 5.2.1 查看個(gè)人信息模塊 員工點(diǎn)擊個(gè)人詳細(xì)信息按鈕,可查看個(gè)人詳細(xì)信息。 個(gè)人信息頁(yè)面如圖 5-

32、3 所示: 圖 5-3 個(gè)人信息頁(yè)面 5.2.2 查看考勤記錄模塊 員工點(diǎn)擊考勤記錄按鈕,可查看個(gè)人考勤記錄信息。 考勤記錄頁(yè)面如圖 5-4 所示: 圖 5-4 個(gè)人考勤記錄頁(yè)面 5.2.3 查看工資明細(xì)模塊 員工點(diǎn)擊工資明細(xì)按鈕,可查看個(gè)人工資明細(xì)情況。工資主要由崗位基本工資、五 險(xiǎn)一金、考勤相應(yīng)獎(jiǎng)罰金額等組成。 工資明細(xì)頁(yè)面如圖 5-5 所示: 圖 5-5 工資明細(xì)頁(yè)面 5.2.4 申請(qǐng)假期模塊 員工點(diǎn)擊申請(qǐng)假期按鈕,可進(jìn)入假期申請(qǐng)頁(yè)面,需填寫(xiě)請(qǐng)假理由、請(qǐng)假時(shí)間等信息。 申請(qǐng)假期頁(yè)面如圖 5-6 所示: 圖 5-6 申請(qǐng)假期頁(yè)面 實(shí)現(xiàn)代碼部分如下: userService.applyLea

33、ve(leaveInfors); 5.2.5 修改密碼模塊 員工點(diǎn)擊修改密碼按鈕,可以修改登錄密碼,需鍵入舊密碼、新密碼、新密碼確認(rèn) 等信息。 修改密碼頁(yè)面如圖 5-7 所示: 圖 5-7 修改密碼頁(yè)面 實(shí)現(xiàn)代碼部分如下: User user=(User)this.getSession().getAttribute(user); User.setPassword(newPassword); userService.updateUser(user); 5 5. .3 3 后后臺(tái)臺(tái)功功能能模模塊塊 后臺(tái)功能模塊主要由員工信息管理、考勤記錄管理、工資管理、部門(mén)信息管理、崗 位信息管理等模塊組成。 5

34、.3.1 員工信息管理模塊 點(diǎn)擊員工信息管理菜單系統(tǒng)列出員工信息管理的子菜單,包括增加員工信息、刪除 員工信息、修改員工信息、查看員工信息等。 1 增加員工信息。需填寫(xiě)員工姓名、性別、住址、聯(lián)系方式、電子郵箱、身份證 號(hào)等基本信息,并選擇員工所屬部門(mén)和崗位,還可以上傳照片,最后選擇提交, 信息合法即可添加成功,系統(tǒng)自動(dòng)生成員工編號(hào)。 增加員工信息頁(yè)面如圖 5-8 所示: 圖 5-8 增加員工信息頁(yè)面 實(shí)現(xiàn)代碼部分如下: employeeService.addEmployee(post,employee); 2 刪除員工信息。點(diǎn)擊刪除員工信息菜單,系統(tǒng)列出員工列表,從列表中選擇或 直接搜索員工,

35、點(diǎn)擊刪除按鈕,確認(rèn)刪除即可刪除該員工相關(guān)信息。 刪除員工信息頁(yè)面如圖 5-9 所示: 圖 5-9 刪除員工信息頁(yè)面 實(shí)現(xiàn)代碼部分如下: employeeService.deleteEmployee(empNOs); 3 修改員工信息。點(diǎn)擊修改員工信息菜單,系統(tǒng)列出員工列表,從列表中選擇或 直接搜索員工,點(diǎn)擊修改按鈕,系統(tǒng)列出該員工詳細(xì)信息,并可以進(jìn)行修改。 修改員工信息頁(yè)面如圖 5-10 所示: 圖 5-10 修改員工信息頁(yè)面 實(shí)現(xiàn)代碼部分如下: employeeService.updateEmployee(empNO,employee); 4 查看員工信息。點(diǎn)擊查看員工信息菜單,系統(tǒng)列出員工

36、列表,從列表中選擇或 直接搜索員工,系統(tǒng)列出該員工的詳細(xì)信息。 查看員工信息頁(yè)面如圖 5-11 所示: 圖 5-11 查看員工信息頁(yè)面 實(shí)現(xiàn)代碼部分如下: List employeeList= employeeService.lookEmployee(); this.getRequest().setAttribute(employeeList,employeeLis t); 5.3.2 考勤記錄管理模塊 點(diǎn)擊考勤記錄管理菜單系統(tǒng)列出考勤管理子菜單,包括查看考勤記錄、加班管理、 出差管理、遲到管理、曠工管理、請(qǐng)假管理等。 1 查看考勤記錄。點(diǎn)擊查看考勤記錄菜單,可查看員工考勤記錄。 2 員工加班

37、管理。點(diǎn)擊加班管理菜單,可添加員工加班記錄。 3 員工出差管理。點(diǎn)擊出差管理菜單,可添加員工出差記錄。 4 員工遲到管理。點(diǎn)擊遲到管理菜單,可添加員工遲到記錄。 5 員工曠工管理。點(diǎn)擊曠工管理菜單,可添加員工曠工記錄。 6 員工請(qǐng)假管理。點(diǎn)擊請(qǐng)假管理菜單,可添加員工請(qǐng)假記錄。 員工加班管理頁(yè)面如圖 5-12 所示: 圖 5-12 員工加班管理頁(yè)面(check_extra.jsp) 實(shí)現(xiàn)代碼部分如下: checkRecordService.checkExtra(empNOs); 員工出差、遲到、曠工、請(qǐng)假等管理頁(yè)面與圖類(lèi)似。 5.3.3 工資管理模塊 點(diǎn)擊工資管理菜單系統(tǒng)列出工資管理子菜單,主要

38、有工資發(fā)放記錄、設(shè)置崗位工資 結(jié)構(gòu)、工資結(jié)算等。 1 查看員工工資發(fā)放記錄。點(diǎn)擊工資發(fā)放記錄菜單,可查看員工工資明細(xì)及發(fā)放 情況。 工資查看頁(yè)面如圖 5-13 所示: 圖 5-13 工資查看頁(yè)面(salary_look.jsp) 實(shí)現(xiàn)代碼部分如下: List salaryRecordList =salaryRecordService.lookSalaryRecords(department); this.getRequest().setAttribute(salaryRecordList, salaryRecordList); 2 設(shè)置崗位工資結(jié)構(gòu)。點(diǎn)擊工資設(shè)置菜單,可設(shè)置崗位工資結(jié)構(gòu)和各工資

39、項(xiàng)相應(yīng) 金額。選擇崗位名稱(chēng),設(shè)置該崗位基本工資、醫(yī)療保險(xiǎn)金額、養(yǎng)老保險(xiǎn)金額、 失業(yè)保險(xiǎn)金額、工傷保險(xiǎn)金額、生育保險(xiǎn)金額、住房公積金、出差補(bǔ)助、加班 獎(jiǎng)金、請(qǐng)假扣額、遲到早退罰金、曠工罰金等。 工資結(jié)構(gòu)設(shè)置頁(yè)面如圖 5-14 所示: 圖 5-14 工資結(jié)構(gòu)設(shè)置頁(yè)面(salary_set.jsp) 實(shí)現(xiàn)代碼部分如下: postSalaryService.setPostSalary(post,posSalary); 3 工資結(jié)算。點(diǎn)擊工資結(jié)算菜單,可結(jié)算當(dāng)月員工工資。 工資計(jì)算相關(guān)公式如下: 員工總工資=崗位基本工資+三金五險(xiǎn)+考勤獎(jiǎng)罰金額 公式 5-1 實(shí)際發(fā)放金額=崗位基本工資+考勤獎(jiǎng)罰金額 公

40、式 5-2 工資結(jié)算頁(yè)面如圖 5-15 所示: 圖 5-15 工資結(jié)算頁(yè)面(salary_account.jsp) 實(shí)現(xiàn)代碼部分如下: salaryRecordService.accountSalary(String empNOs); 5.3.4 部門(mén)信息管理模塊 點(diǎn)擊部門(mén)信息管理菜單系統(tǒng)列出部門(mén)信息管理子菜單,主要有增加部門(mén)信息、刪除 部門(mén)信息、修改部門(mén)信息、查看部門(mén)信息等。 1 增加部門(mén)信息。點(diǎn)擊增加部門(mén)信息菜單,可增加部門(mén)信息。需填寫(xiě)部門(mén)名稱(chēng), 部門(mén)描述等信息。點(diǎn)擊提交按鈕,信息合法即可添加成功,系統(tǒng)自動(dòng)生成部門(mén) 編號(hào)。 2 刪除部門(mén)信息。點(diǎn)擊刪除部門(mén)信息菜單,系統(tǒng)列出部門(mén)信息列表,從列

41、表中選 擇或直接搜索部門(mén),點(diǎn)擊刪除按鈕,確認(rèn)刪除即可刪除該部門(mén)信息。 3 修改部門(mén)信息。點(diǎn)擊修改部門(mén)信息菜單,系統(tǒng)列出部門(mén)信息列表,可從列表中 選擇或直接搜索部門(mén),點(diǎn)擊修改按鈕,系統(tǒng)列出該部門(mén)詳細(xì)信息并可以進(jìn)行修 改。 4 查看部門(mén)信息。點(diǎn)擊查看部門(mén)信息菜單,系統(tǒng)列出部門(mén)信息列表,可從列表中 選擇或直接搜索部門(mén),系統(tǒng)列出部門(mén)詳細(xì)信息。 修改部門(mén)信息頁(yè)面如圖 5-16 所示: 圖 5-16 修改部門(mén)信息頁(yè)面(dept_update.jsp) 實(shí)現(xiàn)代碼部分如下: departmentService.updateDepartment(department); 5.3.5 崗位信息管理模塊 點(diǎn)擊崗位信

42、息管理菜單系統(tǒng)列出崗位信息管理子菜單,主要有增加崗位信息、刪除 崗位信息、修改崗位信息、查看崗位信息等 1 增加崗位信息。點(diǎn)擊增加崗位信息菜單,可增加崗位信息。需填寫(xiě)崗位名稱(chēng), 崗位描述等信息,并選擇崗位所屬部門(mén)。點(diǎn)擊提交按鈕,信息合法即可添加成 功,系統(tǒng)自動(dòng)生成崗位編號(hào)。 2 刪除崗位信息。點(diǎn)擊刪除崗位信息菜單,系統(tǒng)列出崗位信息列表,從列表中選 擇或直接搜索崗位,點(diǎn)擊刪除按鈕,確認(rèn)刪除即可刪除該崗位信息。 3 修改崗位信息。點(diǎn)擊修改崗位信息菜單,系統(tǒng)列出崗位信息列表,可從列表中 選擇或直接搜索崗位,點(diǎn)擊修改按鈕,系統(tǒng)列出該崗位詳細(xì)信息并可以進(jìn)行修 改。 4 查看崗位信息。點(diǎn)擊查看崗位信息菜單

43、,系統(tǒng)列出崗位信息列表,可從列表中 選擇或直接搜索崗位,系統(tǒng)列出崗位詳細(xì)信息。 增加崗位信息頁(yè)面如圖 5-17 所示: 圖 5-17 增加崗位信息頁(yè)面(post_add.jsp) 實(shí)現(xiàn)代碼部分如下: postService.addPost(post,department); 總總 結(jié)結(jié) 畢業(yè)設(shè)計(jì)是我大學(xué)生涯的最后一次作業(yè),所以我很認(rèn)真地對(duì)待畢業(yè)設(shè)計(jì)。實(shí)習(xí)期間 我去了大連安博參加實(shí)訓(xùn),通過(guò)實(shí)訓(xùn)我學(xué)到了很多編程知識(shí),這些為我的畢業(yè)設(shè)計(jì)打下 了基礎(chǔ)。由于已經(jīng)有過(guò)兩次項(xiàng)目經(jīng)驗(yàn),所以我做畢業(yè)設(shè)計(jì)時(shí)思路比較清晰。從項(xiàng)目需求 分析,到概要設(shè)計(jì),到詳細(xì)設(shè)計(jì),再到系統(tǒng)實(shí)現(xiàn),期間我搜集了很多相關(guān)的資料,這些 給了

44、我很多啟發(fā),使我的畢業(yè)設(shè)計(jì)越來(lái)越成熟。但是,做項(xiàng)目具體實(shí)現(xiàn)時(shí)還是遇到很多 問(wèn)題,比如表結(jié)構(gòu)設(shè)計(jì)不完善,表關(guān)聯(lián)設(shè)計(jì)不合理,這些都費(fèi)了很大功夫,后來(lái)理清思 路,重新設(shè)計(jì),把底層搭建好后,后期的工作才越來(lái)越順手。畢業(yè)論文是很重要的一部 分,到目前為止已基本完成,有不妥的地方請(qǐng)多多指教。 參參考考文文獻(xiàn)獻(xiàn) 1李代平軟件工程M北京:清華大學(xué)出版社,2006. 2BlochJ.Effective Java M北京:機(jī)械工業(yè)出版社,2003. 3張永強(qiáng)Java 程序設(shè)計(jì)應(yīng)用教程M北 京:電子工業(yè)出版社,2007. 4孫鑫Java Web 開(kāi)發(fā)詳解M北京: 電子工業(yè)出版社,2006. 5向傳杰JSPServl

45、et 基礎(chǔ)案例教程M北京:電子工業(yè)出版社,2006. 6劉曉華JSP 應(yīng)用開(kāi)發(fā)詳解(第三版)M北京: 電子工業(yè)出版社,2005. 7伯格斯坦JSP 設(shè)計(jì)M. 北 京:中國(guó)電力出版社,2002. 8鄧子云,張賜JSP 網(wǎng)絡(luò)編程從基礎(chǔ)到實(shí)踐M北京:電子工業(yè)出版社,2005. 9薩師煊,王珊數(shù)據(jù)庫(kù)系統(tǒng)概論M北京:高等教育出版社,1983. 10粟菊民Java Web 應(yīng)用程序設(shè)計(jì)M北京:機(jī)械工業(yè)出版社,2007 11甘容,李明東.“人事工資管理信息系統(tǒng)員工工資信息查詢(xún)模塊的實(shí)現(xiàn)”. 甘肅科技,2007. 致致 謝謝 四年大學(xué)生活即將過(guò)去,在畢業(yè)設(shè)計(jì)這最后一程里有領(lǐng)導(dǎo)的關(guān)懷,有導(dǎo)師的指導(dǎo), 有同學(xué)的幫

46、助,這段時(shí)間讓我學(xué)到了很多,收獲了很多,這對(duì)即將畢業(yè)的我來(lái)說(shuō)是很寶 貴的財(cái)富。 在這里特別感謝畢業(yè)設(shè)計(jì)導(dǎo)師。從選題、開(kāi)題報(bào)告、項(xiàng)目編寫(xiě)乃至論文的撰寫(xiě)都 是您給予我認(rèn)真的、細(xì)致的、具體的指導(dǎo),使我才能完成畢業(yè)設(shè)計(jì)和論文撰寫(xiě)的工作。 也特別感謝小組成員的協(xié)助與支持,使我能夠順利及時(shí)地完成畢業(yè)設(shè)計(jì)。 感謝所有領(lǐng)導(dǎo)、老師、同學(xué)、朋友的幫助,在以后的學(xué)習(xí)和工作中我會(huì)嚴(yán)格要求自 己,并將把你們的無(wú)私幫助牢記在心。同時(shí)也感謝學(xué)院為我提供良好的環(huán)境使我順利完 成畢業(yè)設(shè)計(jì)。 最后,我要向百忙之中抽時(shí)間對(duì)本文進(jìn)行審閱,評(píng)議和參與本人論文答辯的各位 老師表示感謝。 附附 錄錄 源源代代碼碼清清單單 實(shí)體類(lèi)與數(shù)據(jù)庫(kù)表

47、映射文件如下(以 Employee.hbm.xml 為例): Dao 層接口實(shí)現(xiàn)類(lèi)如下(以 EmployeeDaoImpl 類(lèi)為例): package com.cc.dao.impl; import java.util.List; import org.hibernate.Query; import org.hibernate.SessionFactory; import com.cc.dao.EmployeeDao; import com.cc.entity.Employee; public class EmployeeDaoImpl implements EmployeeDao priva

48、te SessionFactory sessionFactory; /刪除員工信息 public void delete(Employee employee) this.sessionFactory.getCurrentSession().delete(employee); /按員工序列號(hào)查找員工 public Employee findEmployeeById(int employeeId) Employee emp=(Employee)this.sessionFactory.getCurrentSession().get(Employee.c lass, employeeId); retu

49、rn emp; /增加員工信息 public void insert(Employee employee) this.sessionFactory.getCurrentSession().save(employee); /修改員工信息 public void update(Employee employee) this.sessionFactory.getCurrentSession().update(employee); /查詢(xún)所有員工信息 SuppressWarnings(unchecked) public List findAllEmployee() / TODO Auto-genera

50、ted method stub Query query=this.sessionFactory.getCurrentSession().createQuery(from Employee); List empList=query.list(); return empList; /按員工編號(hào)查找員工 public Employee findEmployeeByNo(String empNo) String hql=from Employee where no=?; Query query=this.sessionFactory.getCurrentSession().createQuery(hq

51、l); query.setString(0, empNo); Employee emp=(Employee)query.uniqueResult(); return emp; /按員工姓名查找員工 SuppressWarnings(unchecked) public List findEmployeeByName(String empName) / TODO Auto-generated method stub String hql=from Employee where name like ?; Query query=this.sessionFactory.getCurrentSessio

52、n().createQuery(hql); query.setString(0, %+empName+%); List list=query.list(); return list; public SessionFactory getSessionFactory() return sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) this.sessionFactory = sessionFactory; Service 層接口實(shí)現(xiàn)類(lèi)如下(以 EmployeeServiceImpl 為例):

53、package com.cc.service.impl; import java.util.Iterator; import java.util.List; import java.util.Set; import org.springframework.transaction.annotation.Transactional; import com.cc.dao.EmployeeDao; import com.cc.dao.PostDao; import com.cc.entity.Employee; import com.cc.entity.Post; import com.cc.serv

54、ice.EmployeeService; Transactional public class EmployeeServiceImpl implements EmployeeService private EmployeeDao employeeDao; private PostDao postDao; /增加員工信息 public void addEmployee(Employee employee, Post post) / TODO Auto-generated method stub Post p=postDao.findPostByName(post.getName(); emplo

55、yee.setPost(p); Set emps=p.getEmps(); Iterator it=emps.iterator(); Employee emp=new Employee(); emp.setNo(0); Employee empn=new Employee(); while(it.hasNext() empn=it.next(); if(empn.getNo().compareTo(emp.getNo()0) emp=empn; String eno=emp.getNo().substring(6); int no=Integer.parseInt(eno); no+; if(no10) eno=0+no; employee.setNo(p.getNo()+eno);/自動(dòng)生成員工編號(hào) employeeD

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論