1、人力资源管理系统学 生: 专 业: 计算机科学与技术指导教师: 摘 要随着现代企业制度的建立以及社会经济的高速发展,企业人力资源已成为左右企业生存发展的重要因素,加强人力资源的有效管理和运作已成为企业提高竞争力的重要手段。本文论述了一个人力资源管理系统的开发过程,包括系统的需求分析、数据库设计、详细设计和系统的实现等方面。系统设计流程遵照了软件工程的相关标准,由Myeclipse、MySQL数据库和Tomcat服务器组成开发平台,采用Struts和Hibernate两种框架结构,使用JAVA语言进行开发。系统基本满足了用户的业务需求,实现了规划的功能。 关键词:人力资源;框架结构;JAVA;T
2、omcat;MySQLHuman Resource Management System Name: WangWei Major: Computer Science And Technology Tutor: Fang Xiufeng AbstractWith the establishment of modern enterprise system and the rapid social and economic development, corporate human resources has become so important factor for survival and dev
3、elopment of enterprises, strengthen the effective management of human resources and operations have become an important means to enhance competitiveness. This paper discusses a human resources management system development process, including system requirements analysis, database design, detailed de
4、sign and system implementation and so on. System design process in accordance with the relevant standards of software engineering by Myeclipse, MySQL database and Tomcat servers development platform, using two frameworks Struts, and Hibernate structure, the use of JAVA language for development. Basi
5、c system to meet the business needs of users, to achieve the planning function. Key Words:Human Resources;Frameworks Struts;Java;Tomcat;MySQL目 录摘 要IAbstractII1 绪 论- 1 -1.1 课题研究背景- 1 -1.2 课题研究意义- 1 -2 系统分析- 3 -2.1 可行性分析- 3 -2.1.1 技术可行性- 3 -2.1.2 经济可行性- 3 -2.1.3 社会可行性- 3 -2.2 需求分析- 4 -2.2.1 应用需求分析- 4
6、-2.2.2 系统功能需求- 4 -3 系统设计- 7 -3.1 系统总体设计- 7 -3.2开发所采用的技术- 8 -3.3数据库设计- 8 - 3.3.1 数据需求分析- 8 -3.3.2逻辑结构设计- 9 - 3.4系统运行环境和开发工具- 12 -3.4.1 运行环境- 12 -3.4.2 开发工具 - 12 -4 系统实现- 14 -4.1 用户操作总体设计- 14 - 4.1.1 用户登录设计- 14 - 4.1.2 人员管理模块设计- 15 -4.2 技术难点- 20 -4.2.1 中文乱码- 20 -4.2.2 HQL语言- 20 -4.2.3 安全性- 20 -5 系统测试-
7、 21 -5.1 测试的定义及目的- 21 -5.2 测试的方法- 21 -5.2.1 界面测试- 21 -5.2.2 功能测试- 22 -5.2.3 需求测试- 22 -5.3 人力资源管理系统的测试- 23 -总 结- 24 -参 考 文 献- 25 -致 谢- 26 -III1 绪 论1.1 课题研究背景目前,网络的发展已呈现出商业化、全民化、全球化的趋势,网络已成为企业进行竞争的战略手段。企业经营的多元化拓展,企业规模的进一步扩大,对于企业的管理、业务扩展、企业品牌形象等提出了更高的要求。在以信息技术为支撑的新经济条件下,越来越多的企业利用起网络这个有效的工具。目前,全球范围内的企业内
8、部组织正在发生巨变,未来企业成功的关键将主要依靠人力资源,人才之争已经成为市场竞争的核心内容之一,以人为本成为企业立足和发展的根本。有效地管理企业的人力资源,不仅能节省大量的人力物力,而且能够帮助企业制订计划,激发员工的积极性,充分发挥每员工的潜能,为企业创造更大的价值。在发展过程中的公司原有的管理体制已经不能适应企业的发展,公司不断出现新的问题,同时对人力资源的管理也提出了新的要求.公司领导逐渐认识到人事管理的重要性,认识到企业的发展离不开优秀的人才和人力资源的有效配置,公司只有拥有先进的管理和优秀的人力资源,才能拥有未来的市场,才能提高企业的竞争力。本系统的开发不但能够改善公司原有的管理方
9、式,把人力资源管理人员从繁重的手工劳动中解脱出来,而且通过人力资源的有效管理能够适时地制定公司的培训计划,根据员工的个人能力对其岗位进行调动,充分发挥员工自身的能力,为公司带来更大的经济利益。1.2 课题研究意义人力资源管理是指组织为了实现既定的目标,运用现代管理措施和手段,对人力资源的取得、开发、保持和运用等方面进行管理的一系列活动的总和。从上可知,人力资源管理的内涵至少包括以下内容:一是任何形式的人力资源开发与管理都是为了实现一定的目标,如个人家庭投资的预期收益最大化、企业经营效益最大化及社会人力资源配置最优化。二是人力资源管理必须充分有效地运用计划、规划、组织、指挥、监督、协调、激励和控
10、制等现代管理手段才能达到人力资源管理目标。三是人力资源管理主要研究人与人关系的利益调整,个人的利益取舍、人与事的配合,人力资源潜力的开发、工作效率和效益的提高以及实现人力资源管理效益的相关理论、方法、工具和技术。四是人力资源管理不是单一的管理行为,必须使相关管理手段的相互配合才能取得理想的效果。例如,薪酬必须与绩效考核、晋升、流动等相配套。可见,人力资源管理的主要任务就是以人为中心,以人力资源投资为主线,研究人与人、人与组织、人与事的相互关系,掌握其基本理念和管理的内在规律,为充分开发、利用人力资源,不断提高和改善职业生活质量,充分调动人的主动性和创造性,促使管理效益的提高和管理目标的实现。人
11、力资源管理与人事管理既有历史上的渊源关系,又有本质的区别。它们不仅仅是称谓的变换和职能部门名称的改变,而且有着下列区别:(1)传统人事管理将事作为重心,把人降格为“执行指令的机器”,着眼于为人找位,为事配人。而人力资源管理则将人作为重心,把人作为第一资源,既重视以事择人,也重视为人设事,尤其对特殊的人力资源。(2)传统人事管理将人视为组织的财产,部门所有、闲置和压抑等现象严重,只重拥有不重开发使用。现代人力资源管理将人力资源作为劳动者自身的财富。作为人力资本,它有增值的本能。因而个人、组织和社会均重视人力资源开发使用,一旦闲置和遭到压抑,则具有在市场机制作用下重新配置的本能。(3)传统人事管理
12、的主体是行政部门,管理制度受到领导人意志左右,个人、组织包括企业均是被动的接受者。而人力资源管理的主体也就是市场运行的主体,他们的行为受到市场机制的左右,遵循市场通行规则和人力资源管理自身特有的规律。(4)传统人事管理的部门作为组织内的一个从事执行的职能部门,从事日常的事务性工作。而人力资源管理部门被纳入决策层,把人的开发、利用、潜能开发作为重要内容,鼓励成员参与管理,将人力资源管理部门作为组织战略决策的参与者。管理模式也由“垂直”模式过渡到“主体”模式。(5)人力资源管理充分运用了当代社会学、心理学、管理学、经济学和技术学等学科的最新成果,更加强调管理的系统化、规范化、标准化以及管理手段的现
13、代化,突出了管理者诸要素之间互动以及管理活动与内外部环境间的互动。从上述区分中可知,人力资源管理转变在未来将会出现以下发展趋势:一是管理原则上同时强调个人和集体;二是管理方法上同时强调理性与情感;三是在领导方式上同时强调权威与民主;四是在考核晋升上同时强调能力与资历;五是在薪资报酬上同时强调即时工资和长远收益。 2 系统分析2.1 可行性分析2.1.1 技术可行性技术可行性:本系统主要采用JSP技术开发,使用Struts 实现MVC框架的设计,与后台数据库的连接采用Hibernate。由于JSP的动态内容是Java 代码实现的,而Java 又具有一次编写多处运行的特点,因此采用JSP开发的系统
14、具有平台无关性,可以在不同的操作系统上运行。Struts是一种基于MVC经典设计模式的框架,在当前Web开发中已经发展得比较成熟. 它可以最大限度地实现组件的复用,具有很好的可重用性和可扩展性,有利于项目的扩展和二次开发。Hibernate本质上是一个面向Java开发环境的对象/关系数据库映射工具,借助Hibernate对象/关系数据库映射技术,可以非常轻松地将以面向对象思想封装的对像的各个状态数据映射到基于SQL的关系模型数据结构中去.由于本系统所采用的技术已经发展得比较成熟,因此本系统在技术上是可行的。2.1.2 经济可行性经济可行性:随着计算机技术的飞速发展和企业间竞争的加强,目前计算机
15、的硬件和软件的价格非常低廉,因此本系统的开发和运行不需要花费很大的成本。但是本系统运行将会为企业带来很大的经济利益,主要表现在以下几个方面:(1)本系统可以代替人工进行许多复杂、重复的信息的记录和统计工作;(2)管理人员可以方便的的对公司的员工、人才的招骋、培训计划、员工薪金等进行管理;(3)普通员工可以方便的从本系统了解到公司的培训计划、奖惩信息、个人薪金等信息;因此,本系统在经济上是可行的。2.1.3 社会可行性目前,全球范围内的企业内部组织正在发生巨变,未来企业成功的关键将主要依靠企业人力资源。有效地管理企业的人力资源,为企业提供强有力的储备力量将成为企业发展的主动力。通过人力资源的有效
16、管理能够激发员工的积极性,充分发挥每个员工的潜能,为企业创造更大的价值。因此本系统的开发是适应时代发展的。2.2 需求分析需求分析是软件开发最基本的,也是最重要的一点。它是所有开发设计的前提,要是在没有搞清用户需求之前,就动手设计编程,其后果是无论程序做的如何精妙都是徒劳的。需求分析的基本任务的准确的回答“系统必须做什么?”。虽然在可行性分析阶段已经粗略了解了用户的需求,但可行性研究的基本目的是用较小的成本在较短的时间内确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量,因此,必须对软件需求分析进行严格的
17、审查分析。2.2.1 应用需求分析传统的手工人事管理管理已经不能适应企业的发展,公司在管理方面面临严重的问题。人事管理体制部门要花费大量的人力、物力来管理员工的信息、薪金等情况,既浪费了时间、又浪费人力和物力,而且数据的准确性低。同时,由于管理制度的落后,有些员工表现出对工作不积极,在工作中偷懒、违反公司制度等情况。因此,开发一个操作简单、功能强大的人力资源管理系统是十分必要的。2.2.2 系统功能需求由于本系统存储了关于公司的很多重要的信息,因此对于本系统的管理需要考虑的关键就是安全的问题。本系统通过对不同的用户设置不同的访问权限来保证数据库的安全,管理员可以对系统进行增加、删除、修改等操作
18、,而对于普通的用户,只能浏览一些信息,不能执行任何的修改数据库信息的操作。为了实现企业对员工的有效管理,在管理员的访问权限内本系统需要完成以下功能:对公司员工信息进行管理, 对应聘人才信息及人才库的管理,公司培训计划的制定与实施, 对员工薪金进行管理, 对员工奖惩信息的管理;具体的功能图如图2-1所示。管理员添加人员信息添加应聘信息添加人才库添加培训计划添加薪金管理添加奖惩制度图2-1 管理员的功能图对于普通的用户,本系统需要完成以下功能:浏览培训计划,查看培训总结,查看个人薪金,浏览奖惩信息;具体的功能如图2-2所示。普通用户培训计划培训总结薪金列表奖惩信息 图2-2 普通用户的功能图按系统
19、分模块并给出各模块的功能图:人员管理模块包括:浏览和添加用户,如图2-3所示。员工管理添加人员信息浏览人员信息图2-3 人员管理功能图招聘管理模块包括:浏览招聘信息、添加招聘信息、浏览人才库,如图2-4所示。招聘管理添加应聘信息浏览应聘信息浏览人才库图2-4 招聘管理功能图培训管理模块包括:浏览培训计划、添加培训计划、察看培训总结, 。薪金管理模块:浏览薪金和添加薪金,如图2-5所示。薪金管理浏览薪金列表添加薪金数据图2-5 薪金管理功能图奖惩管理模块: 添加和浏览奖惩制度,如图2-6所示。奖惩管理浏览奖惩信息添加奖惩信息图2-6 奖惩管理功能图3 系统设计3.1 系统总体设计为实现需求分析提
20、及的各种功能本系统主要由五部分组成,分别是人员管理、招骋管理、薪金管理、培训管理、奖惩管理,规划系统功能模块如图3-1所示。人力资源管理统人员管理招聘管理培训管理薪金管理奖惩管理浏览人员信息添加人员信息浏览招聘信息添加应聘信息浏览人才库浏览培训计划添加培训计划查看培训总结浏览薪金列表浏览奖惩制度添加薪金管理添加奖惩制度图3-1 人力资源管理系统结构图人员管理模块:该模块主要功能是对员工基本信息进行管理。管理员登录以后可以浏览、查询公司内员工的基本信息和他们的详细信息,如果有新的员工进入公司,管理员可以添加新员工的信息,并且可以对信息进行修改。招聘管理模块:该模块主要是对公司的应聘人员信息、公司
21、人才库进行管理。管理员可以添加应聘人员的信息到数据库中,并且可以根据需要进行详细的查看或者删除。管理人员还可以把比较优秀的适合公司招聘要求的应聘者添加到公司的人才库中。培训管理模块:该模块主要是对企业的培训计划、培训实施、培训总结等信息进行管理。管理人员可以根据公司发展的需要适时的制定公司的培训计划,根据计划实施的情况进行培训的总结。普通用户进入系统以后可以查看到公司的培训计划和培训总结,了解公司对员工的培训情况。薪金管理模块:该模块主要功能是对员工薪金信息进行管理。管理员负责录入员工薪金的各项信息,由系统自动进行统计,管理员有权限浏览员工薪金信息并且可以对信息进行修改或者删除,而普通用户只能
22、浏览到自己的薪金信息。 奖惩管理模块:该模块主要功能是对公司的奖惩信息进行管理。管理员和普通用户都可以浏览到公司的奖惩信息,但是只有管理员可以根据公司的奖惩决议添加员工的奖惩信息,并且可以对信息进行修改或删除。3.2开发所采用的技术随着Web开发技术的日益成熟,在Web开发领域中出现了许多设计好的软件开发框架,Struts就是一种基于MVC经典设计模式的框架,.它实际上是建立在Model2基础对Model,View和Controller都提供了现成的实现组件.本系统主要采用JSP技术开发,使用Struts 实现MVC框架的设计,与后台数据库的连接采用Hibernate。由于JSP的动态内容是J
23、ava 代码实现的,而Java 又具有一次编写多处运行的特点,因此采用JSP开发的系统具有平台无关性,可以在不同的操作系统上运行。Struts是一种基于MVC经典设计模式的框架,在当前Web开发中已经发展得比较成熟. 它可以最大限度地实现组件的复用,具有很好的可重用性和可扩展性,有利于项目的扩展和二次开发。Hibernate本质上是一个面向Java开发环境的对象/关系数据库映射工具,借助Hibernate对象/关系数据库映射技术,可以非常轻松地将以面向对象思想封装的对像的各个状态数据映射到基于SQL的关系模型数据结构中去.由于本系统所采用的技术已经发展得比较成熟,因此本系统在技术上是可行的。3
24、.3数据库设计数据库设计是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。3.3.1 数据需求分析根据系统需求,可以列出以下数据表。(1)用户表:保存系统的用户信息,数据项包括用户ID、用户名、密码、性别、真实姓名、创建时间、是否管理员(2)培训信息表:用来保存公司的培训信息,数据项包括培训ID、培训名称、培训目的、培训开始时间、培训结束时间、培训人员、培训讲师、创建时间、培训影响度、培训材料。(3)应聘信息表:存储公司应聘人员的信息,数据项包括应聘
25、ID、姓名、性别、年龄、应聘职位、所学专业、工作经验、毕业院校、电话、Email地址、创建时间、详细经历、是否入库。(4)奖惩信息表:存放公司员工的奖惩信息,数据项包括奖惩ID、奖惩名称、奖惩原因、奖惩说明、创建时间。(5)薪金表:保存员工的薪金信息,数据项包括薪金ID、员工姓名、基本薪金、饭补、房补、全勤奖、赋税、额外补助、罚款、发放时间、总计。3.3.2逻辑结构设计培训信息表是用来存储公司的培训信息。培训ID是此表的主键,用来唯一标识一条培训记录,其它字段用来记录培训的详细信息。其结构如表3-1所示。表3-1 培训信息表educate字段名数据类型长度是否主键备注idint4Y 培训IDn
26、amevarchar100N 培训名称purposevarchar500N 培训目的begintimedatetime8N培训开始时间endtimedatetime8N培训结束时间datumvarchar2000N 培训人员teachervarchar50N 培训讲师createtimedatetime8N 创建时间effectvarchar500N 培训影响度summarizevarchar2000N 培训材料应聘信息表是用来存储公司应聘人员的信息的。应聘ID 是应聘表的主健,用来唯一标识一条应聘记录,因为应聘者有可能重名,因此在此表中不能用应聘者的姓名作为主键。isstock字段用来标识应
27、聘者是否加入到公司的人才库中。其结构如表3-2所示。表3-2 应聘信息表job字段名数据类型长度是否主键备注idint4Y应聘IDnamevarchar50N姓名sexbit1N性别ageint4N年龄jobvarchar50N应聘职位specialtyvarchar50N所学专业experiencevarchar50N工作经验schoolvarchar50N毕业学校telvarchar50N电话emailvarchar50N电子邮件createtimedatetime8N创建时间contentntextN详细经历isstockbit1N是否入库奖惩信息表是用来存放员工的奖惩信息,奖惩ID是奖
28、惩表的主健,用来唯一标识一条奖惩记录。name,reason,explain,createtime用来记录奖惩的详细信息。其结构如表3-3所示。表3-3 奖惩信息表-institution字段名数据类型长度是否主键备注Idint4Y奖惩IDnamevarchar50N奖惩名称reasonvarchar100N奖惩原因explainvarchar2000N奖惩说明createtimedatetime8N创建时间薪金表是用来保存员工的薪金信息。薪金ID是薪金表的主健,用来唯一标识一条记录。basic,eat,house,duty等字段记录了员工薪金的各项信息,totalize字段是系统根据薪金的各
29、项信息自动生成的。其结构如表3-4所示。表3-4 薪金表stipend字段名数据类型长度是否主键备注idint4Y薪金IDnamevarchar50N员工姓名basicfloat8N基本薪资eatfloat8N饭补housefloat8N房补dutyfloat8N全勤奖scotfloat8N赋税punishmentfloat8N额外补助otherfloat8N罚款granttimedatetime8N发放时间totalizedouble8N总计用户表是用来保存系统用户的基本信息。用户ID是用户表的主健,用来唯一标识一条记录,其数据类型为自动编号,递增数为1。username字段为用户名,记录用
30、户登陆名称,该字段的记录值是唯一的,不允许有重复,通过该字段也能唯一标识一条记录。isadmin字段用来标识用户是否是管理员,通过该字段可以设置用户的权限。其结构如表3-5所示。表3-5用户表user字段名数据类型长度是否主键备注idint4Y用户IDusernamevarchar50N用户名passwordvarchar50N密码sexbit1N性别rnamevarchar50N真实姓名createtimedatetime8N创建时间isadminbit1N是否管理员3.4系统运行环境和开发工具3.4.1 运行环境硬件需求: PIII/256M/10G 及以上配置,要求为系统分配足够的数据库
31、磁盘空间操作系统需求: Windows2000及以上操作系统 ( 推荐 ) ,也可以使用 Sun Solaris 等 Linux 操作系统数据库软件需求: MySql 数据库 ( 推荐 ) ,也可以使用 Oracle 数据库中间件软件需求:tomcat系列服务器3.4.2 开发工具MyEclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,MyEclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。虽然大多数用户很乐于将 MyEclip
32、se 当作 Java IDE 来使用,但 MyEclipse 的目标不仅限于此。MyEclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 MyEclipse 的软件开发人员,因为它允许他们构建与 MyEclipse 环境无缝集成的工具。由于 MyEclipse 中的每样东西都是插件,对于给 MyEclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 MyEclipse 是使用 Java 语言开发的,但它的用途
33、并不限于 Java 语言;例如,支持诸如 C/C+、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。MyEclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于 MyEclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。MyEclipse最初由OTI和IBM两家公司的IDE
34、产品开发组创建,起始于1999年4月。IBM提供了最初的MyEclipse代码基础,包括Platform、JDT和PDE。目前由IBM牵头,围绕着MyEclipse项目已经发展成为了一个庞大的MyEclipse联盟,有150多家软件公司参与到MyEclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。MyEclipse是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人
35、们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称MyEclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。4 系统实现4.1 用户操作总体设计用户操作主要包括用户登录和人员管理模块,其中用户登录模块用于完成登录系统,人员管理模块用于浏览、添加和修改人员信息。4.1.1 用户登录设计用户登录是用户进入主页面的入口,其运行结果如图4-1所示。 图4-1 用户登录界面系统登陆是人力资源管理中最先使用的功能,因为用户登陆在数据库中使用的是人员表,人员表中有一个isadmin字段,是来标识是否是管理员的。在登陆时要根据数据库的这个字段来判
36、断此用户是否具有管理员的权限。在网页里添写用户名和密码后点击登陆按钮,网页会访问一个URL,这个URL是“logon.do?action=logon”,这个action的name属性的值是usersForm,它是Struts的ActoinForm的实现类在配置文件中的名字,如下所示:action是Struts的Action的URL,他们在Struts的配置文件中都是已经配好的,如下所示: 在这个配置文件中,可以了解到如下信息:根据name=userForm可以找到与之相对应的ActionForm的实现类“com.bOS.bPRO_PersonManage.actionform.UsersFor
37、m”。根据type=com.bOS.bPRO_PersonManage.action.UsersAction可以找到处理用户数据的Action类。根据和可以了解,这个Action返回success时,页面会被转到manage.jsp文件,这就是登陆成功的页面。如果当Action返回failed时,页面会被转到failed.jsp文件,这个文件是当用户登陆失败将要转到的页面。Struts的UserAction实现类的execute()方法是最先被执行的,这个方法本身也没有具体的事务,而是根据action的参数不同执行相应的方法。在登陆页里面可以找到有一个“action=logon”的字样,它的目
38、的就是在这里做逻辑判断。当action=logon时调用logon()方法。logon()方法从UsersForm中得到用户提交的数据,然后在调用UsersDao()的logonUsers()方法。并且把UsersForm转成Users类做为logonUsers()方法的参数。调用后会返回一个boolean型的值。如果为真,则返回“mapping.findForward(success);”否则返回“mapping.findForward(failed);”也就是当用户登陆成功后,返回给用户登陆成功的页面,登陆失败后返回用户一个登陆失败的页面。那么UsersDao的logonUsers()方法
39、是根据什么得到的返回值呢,现在就让我们看看这个方法,这个方法先通过HibSessionFactory得到一个Hibernate的Session并且开始一个事务,Session再像使用一个欲编译似的命令似的东西,设定参数、提交事务和最后在关闭Session.。得到一个List里面就存储着所有查询出的结果。根据这个结果就可以判断出该用户是否有登陆的权根了,在返回true 或者false。就这样合法的用户就可以顺利的登陆了。那刚才那些有些类似于欲编译的东西是什么呢,这些就是Hibernate特有的查询语言,被称为Hibernate 查询语言(HQL),而它本身也就是使用的JDBC的欲编译技术。4.1
40、.2 人员管理模块设计人员管理模块主要包括浏览人员信息、添加人员信息、人员信息的删除、人员信息的修改。此模块文件架构如图4所示。各项管理工作都是在用户成功登陆后的管理页面进行的,在管理控制页面的左侧是各项的相关链接,右侧是操作平台。 单击“添加人员信息”,即打开添加人员信息的页面如图4-2所示。图4-2 添加人员信息页面添加人员信息的链接是这样的,如下所示:添加人员信息在Struts配置文件中,添加人员信息的链接没有使用ActionForm类,也没有使用Action的实现类,如下所示: adduser.jsp文件,只是一个普通的JSP文件,但是它的表单元素都是与UsersForm相对应的,Us
41、ersForm如下所示:UsersForm类中的reset()方法作用是当用户点击“重置”按钮时,清空input输入框的内容,toString()方法覆盖了Object和toString()方法,populate()方法很有,它把UsersForm转化成Users实体类,大大方便了程序在对数据库操作时使用的方便。而且这个方法中还把用户的生日等表单元素的值由字符型转成日期类型。在adduser.jsp页面中的action上可以看到它要提交的URL,如下所示:配置文件中modifyuser的Action实现类是“com.bOS.bPRO_PersonManage.action.UsersActio
42、n”,如下所示:在UsersAction找到参数action等于adduser时所调用的方法addUsers(),它只是把从UserForm表单转化成的User类做为参数传给了UsersDao的addUsers()方法。在由这个方法向数据库添加人员信息,如下所示: public void addUsers(Users users) throws HibernateException users.setCreatetime(new java.util.Date(); Session session = HibSessionFactory.currentSession(); Transaction tx = session.beginTransaction(); session.save(users); mit(); HibSessionFactory.closeSession(); 如果添加成功页面会被发转到us