基于J2EE Struts Hibernate的人力资源管理系统毕业设计_第1页
基于J2EE Struts Hibernate的人力资源管理系统毕业设计_第2页
基于J2EE Struts Hibernate的人力资源管理系统毕业设计_第3页
基于J2EE Struts Hibernate的人力资源管理系统毕业设计_第4页
基于J2EE Struts Hibernate的人力资源管理系统毕业设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于J2EE+Struts+Hibernate的人力资源管理系统毕业设计 基于J2EE+Struts+Hibernate的 人力资源管理系统 摘 要 目前的人力资源管理软件大多是单机系统下的应用,为此,本系统采用面向对象的编程技术,在Struts2+Hibernate框架的根底上,采用B/S架构,设计出基于Web的符合用户使用技能和接受程度的人力资源管理系统,从而解决了传统的人力资源管理系统中无法在网络环境中传输数据的缺陷,数据库采用MySQL,采用Ajax实现异步通信,为客户提供一个流畅的WEB界面。 本文首先在前言局部简单介绍了有关人力资源信息管理方面的现状;接着,对开发本系统所用各种技术

2、进行了简单介绍;然后,根据软件开发流程,对本系统的开发进行了需求分析,确定了本系统所要实现的功能模块为:员工档案管理、招聘管理、培训管理、奖惩管理、薪资管理、考勤管理、系统管理、员工自助管理模块;再者,本文重点对本系统的开发进行概要设计和详细的设计;最后,本文对本系统各个功能模块的代码实现过程进行了介绍。关键词:Struts2;Hibernate;Ajax;B/S架构;面向对象;人力资源 前言1.1 人力资源信息管理系统简述 人力资源管理信息系统(Human Resource Information System,HRIS)是一个用来为制定人力资源决策提供信息的集成系统,是为了提高企业人力资源

3、管理水平而开发的。主要目标是通过对员工及人力资源活动信息(招聘、工资)等的编制来提高效率,及时与用户沟通,用最少的人力、物力满足用户需求。 人力资源管理信息系统在企业的有效实施,将会促进企业人力资源管理向标准化、标准化、决策科学化开展;促使企业人力资源管理人员从日常大量的行政事务性工作中解脱出来,逐步专注于对企业的人力资源管理活动进行方案,组织,监督和咨询职能;调动企业各级管理者和每一位普通员工都积极参与到人力资源管理活动中来。并且通过大力推进人力资源管理信息化建设,优化了企业人力资源管理流程,建立起开放式的人力资源管理模式,从而提升企业人力资源管理水平和管理效率,充分调动一切有利因素,最终使

4、人成为企业经营开展中真正的第一资源。 人力资源管理信息系统是人力资源管理的电子信息化,是企业基于高速度、大容量的硬件和先进的IT软件的人力资源管理模式,即人力资源管理信息化或自动化。 1.2 问题提出与现状分析 进入信息时代以来,随着电脑与网络技术的日逐兴旺,电子商务空前开展,企业之间的竞争已经从有形的市场逐渐转向了网络,企业信息化成了企业在竞争中处于不败之地的有效手段之一。而相应的企业管理也都逐步进入信息化轨道?人力资源管理系统就应运而生了。 据统计,目前,美国在财务会计上占有90%的工作由计算机完成,人事管理中80-100%的信息处理由计算机完成,方案管理是80?90%,在计算机应用开展较

5、快的国家中,计算机应用于经济管理的占80%,由此可以看出,在国外经济管理是计算机应用的主要领域。我国的人事管理等信息系统的开发应用是从1973年开始的,83年以后才开始了大量的实际的开发和研究工作。因此,信息资源的开发和利用已被确立为国民经济信息的核心内容,信息数字化,传输的网络化是缩小开展中国家与兴旺国家差距的捷径。 国内目前的人力资源管理软件大多处于传统的人事管理系统阶段,它们都只有人员和机构档案的管理、简单的考勤管理和工资管理,缺少作为人力资源管理软件所必需的人员招聘与任用、培训与开发等功能。国外系统虽然业务流程非常清晰,管理非常标准,但不够灵活,通用性不强。 近年来,随着Interne

6、t的快速开展,基于web的应用系统的开发备受关注,但目前的人力资源管理软件大多是单机系统下的应用,这样对信息的管理者和使用者来说很不方便,并且由于开发工具本身的限制,对网络功能的支持强度不强,为以后软件的升级到互联网带来了麻烦。因此,有必要开发一个基于网络的人力资源管理系统,能在网络环境下实现数据的传输。而且,人力资源管理系统不仅仅能提供应企事业单位的人事部门或人力资源部门使用,而且也能提供应单位所有的部门和员工使用,这样才能使人力资源系统发挥出更大的作用。 自1900年以来,人力资源管理内容发生了很大变化,最初只是一些简单的操作:工资发放,员工档案记录,安排社区访问等,但现在随着企业自身人力

7、资源的日益庞大、复杂程度逐渐增强,增加了很多管理方式,如:招聘、培训、员工调动等人机作坊再也无法适应如今企业的人事管理了1。 HRIS使得人力资源规划和管理决策的做出可以在很在程度上依赖于相关信息,而不是仅仅靠管理人员的观点与直觉,这对于企业的决策者和管理者来说都至关重要。作为计算机应用的一局部,使用计算机对人事资料信息进行管理,具有手工管理所无法比较的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、本钱低等。这些优点能够极大地提高企业人事管理系统的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 2 相关开发环境及技术理论?效劳器操作系统:Windows XP

8、数据库效劳器:SQL2000 2.2 技术简介2.2.1 系统设计的主要技术路线 本管理系统是在Struts + Hibernate框架的根底上开发出来的。典型的J2EE结构分为三层结构:表现层、业务逻辑层和数据效劳层。三层体系将业务规那么、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。表现层是传统的JSP技术,自1999年问世以来,经过多年的开展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的根底。 该系统从逻辑结构上分为四层:表示层、业务逻辑层、效劳层和数据持久层。其中使用Struts2作为网站的整体根底

9、架构,负责MVC的别离,在Struts2框架的模型局部,利用Hibernate框架对持久层提供支持。 主要使用技术:6>Html、JavaScript、JSP、Servlet、Struts2、Hibernate、Ajax。2.2.2 J2EE体系结构介绍 J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE核心是一组技术标准与指南,其中所包含的各类组件、效劳架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。 J2

10、EE技术的根底就是核心Java平台或Java 2平台的标准版,J2EE不仅稳固了标准版中的许多优点,如编写一次、随处运行的特性、方便存储数据库的JDBC API以及能够在Internet应用中保护数据的平安模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlets API、JSPJava Server Pages以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。(1)Struts2简介 STRUTS是Apache组织的一个开放源码的工程,它是一个可重用的MVC设计。STRUTS应用有3个主要部件:Serv

11、let及负责具体业务处理的Action类(Controller),JSP页面(view)和STRUTS应用的业务逻辑封装(Model)。2.2.3 面向对象编程思想介绍随着计算机硬件设备功能的进一步提高,使得面向对象的编程成为可能。面向对象的编程更加符合人类的思维方式,编写的程序更加健壮和强大,更重要的是,面向对象编程鼓励创造性的程序设计。面向对象编程是一种先进的编程思想,更加容易解决复杂的问题。面向对象编程的主要特征有4:(1)封装性:面向对象编程核心思想之一就是将数据和对数据的操作封装在一起。通过抽象,即从具体的实例中抽取共同的性质形成一般的概念,比方类的概念。(2)继承:继承表达了一种编

12、程模式。子类可以继承父类的属性和功能,即子类继承了父类所具有的数据和数据上的操作,同时又可以增添子类独有的数据和数据上的操作。(3)多态:多态性是指允许不同的类的对象对同一消息做出相应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享等优势,很好的解决了应用程序中函数同名问题。3 系统需求分析3.1 功能需求分析 功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。参照业务需求分析的结果对每个业务进行细化,从而得到系统的功能模块。通过分析,本系统应该实现以下功能:(1) 登录功能:为了防止非法用户的访问及信息保密性要求,登录模块

13、应根据用户类型对其操作权限进行了限制。 (2) 员工档案管理:应实现员工档案的增加、删除、修改等操作。 (3) 招聘管理:管理员可以发布、删除招聘信息。(4) 培训管理:根据具体的情况设置人员培训,可修改、删除、添加培训信息,为员工的升迁提供科学的依据。(5) 奖惩管理:实现对奖惩信息的增加、删除等操作,为薪资、升迁等提供依据。 (6) 薪资管理:实现对员工工资的录入、查询等。(7)员工自管理:该模块强调员工自助效劳,如对个人档案、薪资等信息的查询。(8) 考勤管理:实现员工进行考勤登录和查看考勤信息,实现公司管理员对当日为参加考勤人员的考勤处理。 (9) 系统管理模块:对该系统用户进行管理(

14、增加、删除等)。3.2 系统可行性分析3.2.1 技术可行性分析 (1)在限制条件下,功能目的可以到达。 (2)利用现有技术,功能目的可以到达。 (3)在规定的期限内,开发能完成。3.2.2 环境可行性分析 基于Java的一次编译到处运行,系统可以在任何操作系统下运行。 4 系统总体设计根据系统功能需求分析,设计出系统总体结构图如图4.1所示:图4.1 系统总体结构图4.2 系统各功能模块用例分析 (1) 系统的总统用例图如图4.2所示:图4.2 系统总统用例图 系统管理员负责系统系统用户的定义和权限划分、档案管理、招聘管理、培训管理、奖惩管理、薪资管理、文件管理等工作;普通员工只能查看自己相

15、关信息。员工档案管理用例图如图4.3所示:图4.3 员工档案管理用例图 用例名称:员工档案管理简要描述:系统管理员可以对员工档案信息进行添加、注销、修改、查看操作,公司职员可以查看个人档案信息。 参与者: 系统管理员、公司职员。 前置条件:系统管理员为公司职员授权。 后置条件:通过校验,系统中存在员工档案信息。(3) 培训管理用例图如图4.4所示:图4.4 培训管理用例图 用例名称:培训管理简要描述:系统管理员可以对培训进行添加、修改、删除等操作,普通员工只能查看自己的培训信息。 参与者: 系统管理员、公司职员。 前置条件:系统管理员为公司职员授权。 后置条件:通过校验,系统中存在培训信息。(

16、4) 奖罚管理用例图如图4.5所示:图4.5 奖罚管理用例图 用例名称:奖罚管理。简要描述:系统管理员可以对员工的奖罚信息进行添加、修改、删除等操作,普通用户只能查看自己的奖罚信息。 参与者: 系统管理员、公司职员。 前置条件:系统管理员为公司职员授权。 后置条件:通过校验,系统中存在奖罚信息。(5)员工自管理用例图如图4.6所示:图4.6 员工自管理用例图 用例名称:员工自管理。简要描述:系统管理员和普通职员都可以修改自己的登录密码,系统管理员可以查看全体员工的登录历史,但普通用户只能查看自己的登录历史。 参与者: 系统管理员、公司职员。 前置条件:系统管理员为公司职员授权。 后置条件:通过

17、校验,系统中存在员工的登录密码和登录信息。薪资管理用例图如图4.7所示:图4.7 薪资管理用例图 用例名称:薪资管理。简要描述:系统管理员可以对员工工资进行核算和发放,也可以查看所有员工的工资发放情况,普通员工只能查看自己的薪资信息。 参与者: 系统管理员、公司职员。 前置条件:系统管理员为公司职员授权。 后置条件:通过校验,系统中存在员工的根本工资、奖罚情况等信息。考勤管理用例图如图4.8所示:图4.8 考勤管理用例图 用例名称:部门管理。简要描述:系统管理员可以对当天没有参加考勤打卡的员工插入旷工记录。普通用户每天可以进行考勤打卡,也可以查看考勤记录。 参与者: 系统管理员、公司职员。 后

18、置条件:通过校验,系统中存在部门信息。招聘管理用例图如图4.9所示:图4.9 招聘信息管理用例图 用例名称:部门管理。简要描述:系统管理员可以对部门的招聘信息进行增、删、改、查等操作和管理应聘者信息。 参与者: 系统管理员。 后置条件:通过校验,系统中存在部门招聘信息和应聘者信息。系统管理用例图如图4.10所示:图4.10 系统管理用例图 用例名称:系统管理。简要描述:系统管理员通过该功能模块实现对系统用户的管理。 参与者: 系统管理员。 后置条件:通过校验,系统中存在部门招聘信息和应聘者信息。4.3.1 数据库总体设计 该系统采用SQL2000数据库,涉及的表有:用户信息表,员工信息表,部门

19、信息表,职位信息表,招聘信息表,培训信息表,奖惩信息表,薪资信息表,考勤信息表。系统的E-R结构如图4.11所示:图4.11 系统E-R图(1) 用户信息表(yilin_user):用来存储用户信息,其表结构见表4-1所示: 表4-1 用户信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2accountnovarchar220外键用户帐号3passwordvarchar250非空用户密码4typenumberDefault0非空用户类型5statusnumberDefault0是否注销备注: 1、type :0为高级管理员,2为普通管理员,3为普通用

20、户2、status :0未注销,1己注销(2)薪资信息表(yilin_salary):用来存储员工薪资信息,其表结构见表4-2所示: 表4-2 薪资信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2membernonumber外键员工编号3smonthvarchar28非空所属月份4basicsalarynumber非空根本工资5housesalarynumber住房补助6extrasalarynumber额外补助7taxsalarynumber税收金额8totalbonusnumber3全额奖金9forfeitnumber3罚款金额10issued

21、atedate发布日期员工信息表(yilin_employee):用来存储员工档案信息,表结构见表4-3所示: 表4-3 员工信息表字段号字段名称字段类型字段大小索引字段说明1idnumberSequence主键编号2nicknamevarchar220非空员工姓名3englishnamevarchar220英文名4gendervarchar21非空员工性别5agenumber6nativevarchar250员工籍贯7birthdayvarchar230出生日期8deptidnumber外键对应部门id9titleidnumber外键对应职务id10wphonevarchar220办公 11

22、fphonevarchar220家庭 12emailvarchar220电子邮箱13politicalfacevarchar24政治面貌14healthvarchar225健康状况15professionvarchar220专业16educationvarchar215学历17marryvarchar21婚姻状况18identityidvarchar218非空身份证号19addressvarchar250现居地址20iconvarchar2200照片路径21enterdatedate录入日期22modifydatedate更改日期(4) 职务信息表(yilin_title):用来存储各职务信息

23、,其表结构见表4-4所示: 表4-4 职务信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2titnamevarchar220非空职位名称3dept_idnumber外键部门id(5) 部门信息表(yilin_dept):用来存储部门信息,其表结构见表4-5所示: 表4-5 部门信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2depnamevarchar220非空、唯一部门名(6) 奖惩信息表(yilin_rewardpunish):用来存储员工奖惩信息,其表结构见表4-6所示:表4-6 奖惩信息表字段号

24、字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2rpnamevarchar230非空奖惩名称3reasonvarchar250奖惩原因4membervarchar250奖惩人员5descrvarchar2200奖惩描述6issuedatedate发布日期7issueMemvarchar215发布人员(7)文件信息表(yilin_file):用来存储所上传文件路径,表结构见表4-7所示: 表4-7 文件信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2loadfilevarchar250非空上传文件名3updateda

25、te上传日期(8)招聘信息表(yilin_recruitment):用例存储招聘信息,其表结构见表4-8所示: 表4-8 招聘信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2contentvarchar2500非空招聘内容3issuedatedate发布日期(9)考勤信息表(yilin_attend):用例存储考勤信息,其表结构见表4-9所示: 表4-9 考勤信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2employeenumberSequence外键员工id3dutydaydatenot-null考

26、勤日期4iscomevarchar220not-null是否上班5typevarchar220not-null考勤类型(10)培训信息表(yilin_train):用来存储员工培训信息,其表结构见表4-10所示:表4-10 培训信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2tnamevarchar220非空培训名称3tgoalvarchar220非空培训目标4tmaterialvarchar220培训教材5tmembervarchar2200非空参加人员6startdatevarchar220开始日期7enddatevarchar220结束日期8

27、tnumbernumber参加人数9teachervarchar220培训讲师10gradevarchar210培训级别11affectvarchar210影响程度12issuedatedate发布日期5 系统详细设计 设计出灵活、便捷的用户操作界面,支持多用户并发访问,合理设计数据库对象,使用Hibernate技术对数据进行持久化和对数据库信息访问,系统的总统架构使用基于STRUTS的开发模式。系统应到达以下目标: (1)符合实际需求,切合实际,能提高企业人力资源管理,提高企业工作效率,降低本钱。 (2)采用B/S架构,满足信息共享的需要,安装及部署方便,平安性好。(3)系统具有良好的可维护

28、性和可扩展性,并且可以根据用户需求的变化做出修改,满足企业个性化需求,便于升级。 (4)能够及时更新相关数据,便于企业决策。 系统运行的操作系统为Windows xp,数据库采用SQL2000,应用效劳器采用Tomcat 6.0.20应用效劳器。 整个应用部署在一台应用效劳器、一台数据库效劳器上。系统可以使用企业内部局域网,也可以通过广域网访问系统。 (1)该系统是以关系数据库为存储,基于Web的应用系统。由一系列组件和功能模块组成。 总体结构:浏览器/效劳器(B/S) 编程模式:Jsp+Hibernate+STRUTS 逻辑结构:用户界面开发、业务逻辑处理和数据存储 (2)该系统联合使用业务

29、代理和DAO模式如图5.1所示: 图5.1 系统架构图5.4 系统业务流程系统的业务流程严格遵守J2EE应用的标准,浏览器从进入系统开始,即发送*.do的请求,该请求被ActionServlet拦截,进入Struts框架的控制。系统的所有超级链接,包括表单的处理都将向*.do请求,即被ActionServlet拦截,由Struts的MVC框架控制。系统的业务流程图如图5.2所示: 图5.2 系统业务流程图 浏览器获得数据后向效劳器端发送请求(request),FilterDispatch接收到从浏览器发送来的请求后将相应的数据请求分发到相应的Action的execute方法进行处理,execu

30、te方法通过BeanFactory创立service实现类的对象,实现类对象调用其响应的业务逻辑方法,业务逻辑层的方法又调用Dao层的方法进行数据库的操作,对数据进行持久化。其时序图如图5.3所示: 图5.3 系统时序图5.5 系统代码实现5.5.1 Domain层实现Domain对象是抽象出的实体,通常就是需要持久化的对象。本系统采用ORM框架Hibernate对PO进行持久化处理。(一) Domain Object的设计本系统共有10个Domain Object对象,分别是:(1)Department:对应系统的部门信息,包含部门的编号和部门名称(2)Employee:对应系统的员工信息,

31、包含员工的编号,姓名,性别,身份证号,对应的职位等信息(3)UserInfo:对应员工的用户登录信息,包含用户的用户名,密码等属性(4)Interview:对应应聘人员的个人信息(5)Recruitment:对应与系统的招聘信息的类,包含招聘主题,招聘内容,发布时间,发布人员等信息(6)RewardPunish:对应于对员工的奖惩信息(7)Salary:对应于员工的工资信息(8)Title:对应于员工的职位信息的类(9)Train:对应于公司对员工的培训信息的类(10)FileInfo:对应于系统文件的存储信息的类(二)Domain Object的映射Hibernate映射文件是用来描述数据库

32、中表和Domain Object关系的xml文件。Hibernate映射文件中,要注意表之间的关系映射:(1) Employee与Department和Title类为N-N的关系,Employee与UserInfo类为1-1的关系,Employee的映射文件/0>.中的相关代码如下: .many-to-one name"department" class"/./.artment" fetch"select" column name"DEPTID" precision"4" scale&qu

33、ot;0" / /many-to-one many-to-one name"title" class"/./.le" fetch"select" column name"TITLEID" precision"4" scale"0" / /many-to-one one-to-one name"userinfo" cascade"all" outer-join"true" property-ref"

34、employee" class"UserInfo" /one-to-one .Title与Department也是多对多的关系,在Title类的映射文件/.文件中的映射相关代码如下:.many-to-one name"dept" class"/./.artment" fetch"select" column name"DEPT_ID" precision"4" scale"0" / /many-to-one (3) Attend和Employee

35、是N-1的关系,在Attend类的映射文件/.文件中的映射相关代码如下: many-to-one name"employee" column"EMPID" not-null"true" lazy"false"/many-to-one 5.5.2 DAO层实现 DAO模式是一中标准的J2EE设计模式,具体的DAO类包含了数据库的访问逻辑,每个DAO组件可对一个数据库表完成根本的增、删、改、查等操作。 (一)DAO组件的接口定义和DAO组件的实现类 (1)本系统定义了两个Dao接口,分别为: 1)IEmployeeDa

36、o:主要定义了对用户信息增、删、改、查的方法该接口中定义的方法主要有: /根据用户账号查询用户信息 UserInfo findUserByAccountnoLong accountno throws Exception; /根据员工号身份证号工信息 Employee findEmployeeByIdString identityid throws Exception; /添加或修改部门信息,级联修改员工,职称信息 void saveOrUpdateDepartmentDepartment departmentthrows Exception; /添加或修改员工信息 void saveOrUpd

37、ateEmployeeEmployee employeethrows Exception; /根据部门名称查询部门 Department findDeptByNameString depnamethrows Exception; /查找所有的部门 List findAllDeptthrows Exception; /根据员工的部门号与职称名查找职称信息 Title findTitleString titname,Department deptthrows Exception; /查询所有的员工信息 List findAllEmployeethrows Exception; /查询所有的员工的数

38、量 Integer findAllEmployeeNumthrows Exception; /根据条件查询所有的员工信息并分页显示 List findAllEmployeeByConditionLong staffno,String gender,String depname,String educationthrows Exception; /根据员工的编号删除员工信息 void deleteEmployeeByNoLong idthrows Exception; /根据员工的编号查找员工的工资信息 List findSalaryByEmployeeidLong idthrows Excep

39、tion; /查询所有的上传文件路径 /查找所有的用户信息数 Integer findAllUserthrows Exception; /根据id号查询用户消息 UserInfo findUserLong idthrows Exception; /查找所有的用户信息 List findAllUserint start,int endthrows Exception; /保存用户信息 void saveUserUserInfo userthrows Exception; /根据id号删除用户信息 void deleteUserLong idthrows Exception; 2)IAffairD

40、ao:主要定义了对用户事务请求的数据库交互的方法 该接口中定义的方法有: /查找所有的招聘信息数 Integer findAllRecruitthrows Exception; /根据id号查询招聘消息 Recruitment findRecruitLong idthrows Exception; /查找所有的招聘信息 List findAllRecruitint start,int endthrows Exception; /保存招聘信息 void saveRecruitRecruitment recruitthrows Exception; /根据id号删除招聘信息 void delete

41、RecruitLong idthrows Exception; /保存培训信息 void saveTrainTrain trainthrows Exception; /查找所有的培训信息数 Integer findAllTrainNumthrows Exception; /查询所有的培训信息 List findAllTrainthrows Exception; /根据条件查询所有的培训信息 List findAllTrainByConditionString tname,String teacherthrows Exception; /根据id删除培训信息 void deleteTrainLo

42、ng idthrows Exception; /添加奖惩信息 void addJcRewardpunish jcthrows Exception; /查找所有的奖惩信息数 Integer findAllJcNumthrows Exception; /查找所有的奖惩信息 List findAllJcthrows Exception; /根据条件查询所有的奖惩信息 List findAllJcByConditionString rpname,String memberthrows Exception; /根据id删除奖惩信息 void deleteJcLong idthrows Exception

43、; /上传文件 void addFileFileInfo filethrows Exception; /查找所有的文件信息数 Integer findAllFileNumthrows Exception; /查找所有的文件信息 List findAllFilethrows Exception; /根据条件查询所有的文件信息 List findAllFileByConditionString memberno,String smonththrows Exception; /根据id删除文件信息 void deleteFileLong idthrows Exception; /添加薪资信息 voi

44、d addSalarySalary salarythrows Exception; /查找所有的薪资信息数 Integer findAllSalaryNumthrows Exception; /查找所有的薪资信息 List findAllSalarythrows Exception; /根据条件查询所有的薪资信息 List findAllSalaryByConditionString memberno,String smonththrows Exception; /根据id删除薪资信息 void deleteSalaryLong idthrows Exception; (2)本系统定义了两个D

45、ao接口实现方法,分别为:1)IEmployeeDaoImpl:实现了IEmployeeDao接口,并实现了该接口中的所有方法。2)IAffairDaoImpl:实现了IaffairDao接口,并实现了该接口中所有方法。(二)DAO工厂类 Dao工厂类BeanFactory的设计主要用到的单例设计模式和工厂设计模式,其主要代码如下: public static Object getBeanString beanName if beanName.equals"affairDao" affairDao getAffairDao;return affairDao;if beanN

46、ame.equals"affairService" affairService getAffairService;return affairService;if beanName.equals"employeeDao" employeeDao getEmployeeDao;return employeeDao;if beanName.equals"employeeService" employeeService getEmployeeService;return employeeService;return null; . 5.5.3

47、 Service层实现 Service层主要是实现通过业务逻辑组件,业务逻辑组件调用Dao层的方法实现与数据库进行交互,对用户请求的进行业务逻辑处理的过程。(一)Service的接口定义和DAO组件的实现类 (1)本系统定义了两个Service接口,分别为: 1)IEmployeeService:主要定义了对用户信息增、删、改、查的方法。该接口中定义的方法主要对应于IEmployeeDao中定义的方法 2)IAffairSerivce:主要定义了对用户事务请求的数据库交互的方法。 该接口中定义的方法主要对应于IAffairDao中定义的方法 (2)本系统定义了两个Service接口实现方法,分

48、别为:1)IEmployeeServiceImpl:实现了IEmployeeService接口,并实现了该接口中的所有方法。该类中的方法分别调用了IEmployeeDaoImpl对用户请求进行数据库交互和业务处理。 2)IAffairServiceImpl:实现了IAffairSerivce接口,并实现了该接口中所有方法。该类中的方法分别调用了IAffairDaoImpl中的方法对用户的事务请求进行数据库交互和事务处理。 5.5.4 Web层实现 本系统的MVC框架使用Struts2,Struts是经典的使用最广泛的MVC框架,它可以保证系统的可控制性,系统的稳定可用性等。 使用Struts2,在web.xml文件中增加如下配置: filter-namestruts2/filter-name filter-mapping filter-namestruts2/filter-name url-pattern/*/url-pattern /filter-mapping 本系统的控制器Action中都使用了依赖注

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论