java课程设计人事管理系统

合集下载

java人事部课程设计

java人事部课程设计

java人事部课程设计一、课程目标知识目标:1. 掌握Java面向对象编程的基本概念,包括类、对象、继承、封装和多态;2. 学会使用Java编写人事部信息管理系统的基础功能,如员工信息的增加、删除、修改和查询;3. 理解并能运用Java异常处理、文件操作和数据持久化存储。

技能目标:1. 能运用面向对象的思想分析并解决实际问题,具备初步的软件项目设计能力;2. 能够使用Java编写结构清晰、可读性强的代码,养成良好的编程习惯;3. 能够运用所学知识,独立完成一个小型人事部信息管理系统的设计与实现。

情感态度价值观目标:1. 培养学生积极的学习态度,激发对计算机编程的兴趣和热情;2. 培养学生的团队合作意识,学会在项目开发过程中与他人沟通与协作;3. 培养学生勇于面对困难,敢于挑战的精神,提高解决问题的能力。

课程性质:本课程为实践性较强的学科,注重理论联系实际,通过项目驱动的教学方法,使学生能够将所学知识应用于实际项目中。

学生特点:学生具备一定的Java基础,对面向对象编程有一定的了解,但实践经验不足,需要通过实际项目锻炼编程能力。

教学要求:结合学生特点,教师应注重理论与实践相结合,引导学生通过项目实践,掌握Java编程技巧,提高解决实际问题的能力。

在教学过程中,关注学生的学习进度和个体差异,提供有针对性的指导。

二、教学内容1. 面向对象编程基础:- 类与对象的概念及其关系- 封装、继承和多态的实现原理- Java异常处理机制2. Java编程规范与技巧:- 代码规范、命名规范- 编程习惯和调试方法- 设计模式初步介绍3. 人事部信息管理系统功能模块设计:- 系统需求分析- 功能模块划分与设计- 数据存储与文件操作4. 实践项目开发:- 系统框架搭建- 员工信息管理功能实现- 系统测试与优化教学内容安排与进度:第一周:面向对象编程基础,学习类与对象、封装、继承和多态等概念;第二周:Java编程规范与技巧,培养良好的编程习惯;第三周:人事部信息管理系统功能模块设计,进行需求分析和模块划分;第四周:实践项目开发,分阶段完成系统框架搭建、功能实现及测试优化。

基于java的人事管理系统设计与实现

基于java的人事管理系统设计与实现

基于Java的人事管理系统设计与实现引言人员管理是每个组织或企业都需要关注和重视的一个方面。

为了更好地管理和组织人力资源,许多组织和企业选择开发和使用人事管理系统。

本文将介绍基于Java的人事管理系统的设计和实现原理。

系统需求分析在设计和开发人事管理系统之前,我们首先需要进行系统需求分析。

根据用户的需求和要求,我们确定了以下主要功能:1. 员工信息管理:包括员工基本信息、合同信息、岗位信息等。

2. 考勤管理:记录员工的签到、签退和请假情况。

3. 薪资管理:计算员工的薪资并生成相应的工资条。

4. 培训管理:记录员工的培训情况,包括培训计划和培训成绩。

5. 绩效管理:评估员工的工作绩效并记录相关数据。

6. 权限管理:设置和管理系统用户的权限。

系统设计与实现技术选型由于本系统需要实现较为复杂的功能,我们选择了Java作为开发语言。

Java拥有良好的跨平台性和稳定性,适合用于开发大型的企业级应用。

此外,我们还选择了Spring框架作为系统的基础框架,使用MySQL作为数据库。

架构设计本系统采用了MVC(模型-视图-控制器)的架构模式。

通过将系统划分为模型、视图和控制器,实现了各个模块的解耦和灵活的拓展性。

模型层模型层主要负责处理与数据相关的逻辑。

我们使用Spring 框架提供的ORM(对象关系映射)功能,将Java对象映射到数据库表中,实现了数据的持久化和访问。

视图层视图层主要负责系统用户界面的展示和用户交互。

我们使用HTML、CSS和JavaScript技术开发了一个响应式的Web界面,使用户可以方便地操作系统。

控制器层控制器层作为模型和视图之间的桥梁,负责处理用户请求、调用模型层处理数据,并将处理结果返回给视图层。

我们使用Spring框架的控制器功能,实现了对用户请求的路由和处理。

数据库设计本系统使用MySQL作为数据库管理系统,设计了以下几个主要的数据表: 1. 员工表:存储员工的基本信息,如姓名、性别、出生日期等。

java实训报告(简单人事管理系统的设计与实现)

java实训报告(简单人事管理系统的设计与实现)

编号:xxxxXx学院综合课程设计报告简单人事管理系统的设计与实现学生:x,x,x,xxxxxxxxxxxxxxxxxxxxxxxxxxx指导教师: x x所在系:电子信息系所学专业:计算机科学与技术年级: xxxxxxxxxxxx2014年12月目录摘要 (1)第一章前言 (2)第二章需求分析 (3)第三章概要设计 (5)3.1 总模块设计 (5)3.2系统管理模块设计 (5)3.3数据信息管理模块 (6)3.4数据信息浏览模块 (7)3.5数据信息查询模块 (8)3.6帮助模块 (9)第四章详细设计 (11)4.1总的流程 (11)4.2 用户登录流程图 (11)4.3员工信息管理流程图 (12)4.4 部门信息管理流程图 (16)4.4.1添加部门管理信息流程图 (16)4.4.2删除部门管理信息流程图 (16)4.4.3 修改部门管理信息流程图 (17)4.5查询信息管理流程图 (18)4.5.1按职工号查询员工信息 (18)4.5.2按部门号查询部门信息 (20)第五章系统实现 (21)5.1用户登录模块实现 (21)5.2主界面设计模块实现 (22)5.2.1管理员进入的主界面 (22)5.2.2员工进入的主界面 (28)第六章总结 (31)参考文献: (32)简单人事管理系统的设计与实现摘要随着计算机技术的飞速发展,计算机在企业管理中应用得到普及,不仅是在企业中,在学校利用计算机实现管理势在必行。

人事管理系统是现在企业管理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规化的必要条件。

计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便.计算机代替人工处理一些事务已成为必然。

整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。

如在查找资料、处理日常办公事务、科研生产等方面,无不需要利用大量的信息资源。

人力资源管理系统java程序设计(可打印修改) (2)

人力资源管理系统java程序设计(可打印修改) (2)
第四章 系统设计报告...................................................................................................15 4.1 功能模块设计....................................................................................................15 4.2 新系统信息处理流程设计................................................................................16 4.2.1 处理流程设计的任务.............................................................................16 4.2.2 流程设计.................................................................................................16 4.3 输出设计............................................................................................................17 4.3.1 输出设计的内容.....................................................................................17 4.3.2 输出设计的方法.....................................................................................17 4.3.3 输出设计评价.........................................................................................18 4.4 代码设计............................................................................................................18

基于java的企业人事管理系统的设计与实现

基于java的企业人事管理系统的设计与实现

基于java的企业人事管理系统的设计与实现随着企业的不断发展,人力资源管理的重要性也越来越被企业所重视。

为了提高人力资源管理的效率和精度,许多企业开始采用人事管理系统来进行管理。

本文将介绍一种基于Java的企业人事管理系统的设计与实现。

一、系统需求分析1.1 系统背景本系统是一种针对企业人力资源管理的信息化管理系统。

在企业中,人力资源管理是一个非常重要的部门,其主要职责是负责招聘、培训、绩效评估、福利管理等工作。

为了提高人力资源管理的效率和精度,本系统应运而生。

1.2 系统功能本系统主要包括以下功能:(1)员工信息管理:包括员工基本信息、工作经历、教育背景、证书信息等。

(2)招聘管理:包括招聘计划、招聘流程、招聘结果等。

(3)培训管理:包括培训计划、培训流程、培训结果等。

(4)绩效评估:包括绩效考核计划、绩效考核流程、绩效考核结果等。

(5)福利管理:包括薪酬管理、保险管理、福利管理等。

1.3 系统技术要求本系统采用Java语言进行开发,使用MySQL数据库进行数据存储。

前端界面采用HTML、CSS、JavaScript等技术进行开发,后端使用Spring、Hibernate等框架进行开发。

二、系统设计2.1 系统架构设计本系统采用MVC(Model-View-Controller)架构模式进行设计,具体如下:(1)Model层:负责数据的存储和处理,包括数据访问层、业务逻辑层等。

(2)View层:负责展示数据和接收用户的操作,包括前端界面、交互逻辑等。

(3)Controller层:负责控制数据流向和业务流程,包括业务控制器、路由控制器等。

2.2 数据库设计本系统采用MySQL数据库进行数据存储,数据库设计如下:(1)员工信息表:包括员工编号、姓名、性别、出生日期、联系方式等字段。

(2)工作经历表:包括员工编号、公司名称、职位、入职时间、离职时间等字段。

(3)教育背景表:包括员工编号、学校名称、专业、学历、入学时间、毕业时间等字段。

java课程设计人事管理系统

java课程设计人事管理系统

枣庄学院信息科学与工程学院课程设计任务书题目:java人事管理系统学号: 0153 姓名: XXX 专业:计算机科学与技术课程: java程序设计指导教师: XXX 职称:讲师完成时间: 2012 年 5 月----2012 年 6 月枣庄学院信息科学与工程学院制课程设计任务书及成绩评定目录第1章概述前言1.1.1 背景随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机在实现企业人事档案的管理势在必行。

当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。

从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。

目前很多企业的人事管理还处于人工管理的阶段,效率低下,已经远远落后于当今技术的发展。

并且人工管理的弊端也愈来愈严重,由于不可避免的人为因素,造成数据的遗漏、误报,而造成企业重大损失的事例层出不穷。

计算机信息化管理有着储存信息量大,速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。

因此我们利用计算机提供给我们信息,做出了这个人事信息管理系统。

人事管理系统是现在企业管理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规范化的必要条件。

传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。

如何实现信息处理的自动化和办公的无纸化逐步得到了人们的重视。

如今,随着计算机技术的普及人们开始采用一系列的计算机语言编写程序开发人事管理系统,它实现了办公地自动化,能使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步地加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性科学性,并创造出更多的发展机会;另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持续、健康、稳定的发展打下基础。

本文主要介绍一个简单的基于Java的企业人事管理系统的实现,系统开发的总体任务是实现企业人事信息关系的系统化、规范化和自动化。

人事管理系统 java课程设计说明书

人事管理系统 java课程设计说明书

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊目录一、设计目的 (2)二、功能介绍 (2)三、程序流程 (2)四、设计步骤 (3)五、设计总结 (6)六、程序清单 (6)┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊一、设计目的通过课程设计,使自己提高理论联系实际解决实际问题的能力;也使自己对基于面向对象的理论进行系统设计过程中的诸多具体问题有感性的认识和深入的理解;进而提高自己的学习兴趣为其将来顺利进入毕业环节作必要的准备。

按照教师给出的思路和计划进度安排独立完成课程设计二、功能介绍1、具有新用户注册功能。

2、具有注册用户登录功能。

3、具有数据的录入功能。

4、具有数据查询功能,可以实现查询全部信息和按条件执行查询。

5、具有按条件删除数据功能。

6、具有统计功能7、本程序采用RCP技术,和SQL数据库。

三.程序流程图1┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊四、设计步骤(一)程序设计步骤1.建立RCP工程并构建数据库2.建立view和editor3.构建基本框架,并主要修改Perspective和WorkbenchWindowAdvisor两个文件4.构建需要的辅助文件5. 测试(二)详细设计:1.登录和注册当登录名框和密码为空的时候,后边会显示×;当点击验证码的时候,调用Random函数产生随机验证码,点击登录的时候,从三个框中获得值,进行对数据库的操作。

部分代码如下:String name = text.getText();String sql = "select * from users where name='"+name+"'";DBHelper db = new DBHelper();ResultSet rs = db.query(sql);效果如图如下:图2当用户点击提交时,程序会将用户输入的信息通过SQL语句提交给数据库,如果数据库修改成功,会返回信息。

基于JAVA人事管理系统的设计与实现

基于JAVA人事管理系统的设计与实现

毕业设计(论文)基于JAVA人事管理系统的设计与实现姓名系别、专业导师姓名、职称完成时间摘要由于计算机技术的飞速发展,数据库技术作为数据管理的一个有效的手段,在各行各业中得到越来越广泛的应用。

因此,本文围绕一个“人事管理系统”程序的设计和应用系统的开发课题为背景,详细介绍了以Java 和Oracle为语言编写管理信息系统的过程。

该程序通过Java 中的GUI图形界面前台与后台Oracle数据库的连接,并具有典型的数据库应用系统的特征,完成了系统结构与现实生活的紧密结合。

管理系统的开发不仅是一个应用程序编写的过程,更重要的是在系统分析和设计阶段所做的工作。

该程序在设计过程中严格遵循软件工程学的方法,用分阶段的生命周期计划严格管理,并主要讲述了程序的总体设计、详细设计阶段,对程序进行需求迭代,不断修正和改进,利用SQL 的强大数据库功能,直到形成一个完善的可行性系统.优美、秀丽的界面,方便实用的查询与维护功能共同构成了“人事工资管理系统”。

关键词:Oracle,p/l SQL ,数据库,软件工程,人事工资管理系统AbstractBecause of the rapid development of computer technology, database technology as data management of a effective means in all walks of life, get more and more widely. Therefore, this paper around a "personnel management system" program design and application system development issues as the background, detailed introduces the Java and Oracle for language preparation process of management information system. The program through the GUI GUI receptionist Java with background of Oracle database connection, and the typical characteristics of database application system, completing the system structure and real life closely.Management system development is not only an application programming process, the more important is in system analysis and design stage work done. The program in the design process strictly comply with the method of software engineering, with the life cycle of stages to the strict management, and main plan tells the program overall design, detailed design phase, and procedures, revise and demand iteration, using powerful SQL improvements database function, the feasibility of until form a perfect. Beautiful, beautiful system interface, convenient and practical query and maintenance function together formed "personnel salary management system".Keywords:Oracle, p/l SQL, database, software engineering, personnel salary management system目录摘要 (I)Abstract (III)1 绪论 (I)1.1 课题背景 (I)1.2 课题研究的目的和意义 (1)1.3 需求信息的收集 (1)1.4 需求信息的整理: (3)1.5 研究实施的具体方案: (3)2 相关于工具的基本理论 (6)2.1 关于Java的说明 (6)2.2 关于管理信息系统: (8)2.3 数据库系统概论 (8)2.4 后台数据库的选择-Oracle9i (9)3 系统需求分析和总体设计 (11)3.1 系统分析 (11)3.2 系统的可行性研究 (11)3.3 现行系统的详细调查 (12)3.4 系统业务流程设计 (13)3.5 系统功能设计 (14)3.6 系统数据库设计 (17)3.6 本章小结 (24)4 系统详细设计 (25)4.1 系统模块的具体实现 (25)4.2 本章小结 (36)5 系统运行与测试 (38)结论 (39)致谢 (40)参考文献 (41)附录一:外文翻译 (42)附录二:译文 (49)1绪论1.1课题背景随着我国成功加入WTO及信息化浪潮的日益临近,企业经营管理机制正在发生着根本性的变化,企业要想在激烈的市场竞争环境下求得生的存,就必须有效地利用人才、时间、信息结合的优势,就必须有效地进行企业内部改革和加强企业管理。

Java-web人事管理系统分析设计报告

Java-web人事管理系统分析设计报告

课程设计报告课程设计名称:java web 课程设计系部名称:中印计算机软件学院学生姓名:苟祥明班级:11级软件1班学号:201101080026成绩:指导教师:李玉杰开课时间:2013 学年第二学期目录第一章课题背景(或绪论、概述)1.1开发背景 (2)1.2开发目的…………………………………………………..………………………… . 2第二章设计简介及设计需求分析2.1可行性性研究 (4)2.2设计简介 (4)2.3 信息分析 (6)第三章系统概要设计3.1 系统组织结构 (6)3.2 各子系统功能 (7)第五章数据库设计 (11)第四章详细设计4.1系统流程图 (9)4.2系统结构分析 (9)4.3输入输出关系 (10)第五章数据库设计5.1 系统的基本信息与功能 (10)5.2人事管理系统需求分析.....................................................................10 5.4 系统设计.. (11)5.5 应用程序模块图与模块分析 (11)第六章系统实施总结 (12)课程设计任务书院系:软件学院专业:软件技术班级:软件1班学号:201101080026第一章课题背景1.1开发背景人事管理系统是企业管理的一个重要内容,随着时代的进步,企业也逐渐变得庞大起来.如何管理好企业内部员工的信息,成为企业管理中的一个大的问题.在这种情况下,一个可以规范化,自动化的企业人事管理系统就显的非常必要.随着计算机技术、网络技术和信息技术的发展,现在办公系统更趋于系统化、科学化和网络化。

网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。

现在许多的机关单位的人事管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。

人事管理系统Java课程设计报告

人事管理系统Java课程设计报告

人事管理系统Java课程设计报告第一篇:人事管理系统Java课程设计报告湖南科技大学计算机科学与工程学院数据库课程设计报告题目:人事管理管理系统学号:1005030221 姓名:艾向兵指导教师:张黎完成时间:2012年1月4日组员:苏勇,成佳裕,艾向兵企业人事管理系统主要用于员工个人资料的录入,职务变动的记录和管理。

使用人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配 1.1系统功能需求分析人事管理系统主要有以下几项功能要求:.新员工资料的输入。

.自动分配员工编号,并且设置初始的用户密码:.人事变动的记载,包括岗位和部门的调整。

.员工信息的查询和修改,包括员工个人信息和密码 1.2 系统功能模块设计根据系统功能要求,可以将系统分解成几个模块来分别设计应用程序界面,如图,人事资源管理包括:新员工档案输入,人事变更,员工档案查询1.3 与其它系统的关系本关系是公司管理信息系统的基础部分,为其他子系统,如考勤管理系统,工资管理系统和员工培训系统,提供员工的基本信息。

同时为其他系统提供了员工登录的密码认证和权限分配。

1.4数据库设计数据库需求分析:员工信息:员工号,密码,权限,姓名,性别,生日,专业,通讯地址,电话,Email,当前状态,其他。

人事变动:记录号,员工,变动,详细描述部门设置:部门编号,名称员工变动代号表员工信息表员工职位代码表管理员登陆界面信息查询,修改,删除主界面查询单个员工的界面总结这次的课程设计,是在学习了Java以后通过阅读课本及在图书馆借阅相关书籍同严景、孟珍三人共同完成的。

在开发这个系统的过程中,碰到很多或大或小的问题,我们一起思考,一起努力,最后大部分都解决了,得到了现在的这个简单的人事管理系统。

在编制过程中,我们首先考虑到了界面的友好性,并在界面设计时不采用烦琐的细节,使界面简单、清晰,便于操作。

一开始我们是想做个登录界面,实现用户的登录权限管理,但试了几次都没有达到预期的效果,最后不得不放弃。

基于JAVA的人事管理系统设计与实现

基于JAVA的人事管理系统设计与实现

基于JAVA的人事管理系统设计与实现本文将介绍一个基于JAVA的人事管理系统的设计与实现,该系统主要功能包括员工信息管理、薪资管理、考勤管理等,旨在提高企业的管理效率和员工工作满意度。

一、可行性分析在开始设计之前,我们需要对该系统的可行性进行分析。

首先,该系统的目标用户为企业,能够提高企业的管理效率和员工工作满意度,具有很高的市场需求。

其次,采用JAVA进行系统开发,可以保证系统功能的稳定性和可扩展性。

最后,该系统的开发难度较低,人员技术要求不高,可以通过培训进行技术储备。

二、系统需求分析根据企业的人力资源管理需求,我们对人事管理系统的功能进行如下需求分析:1. 员工信息管理:包括员工基本信息、个人档案、职位信息、教育经历等。

2. 薪资管理:包括员工薪酬信息、绩效考核、社保等。

3. 考勤管理:包括员工出勤记录、请假管理、加班管理等。

行统计分析。

5. 系统安全:系统必须具备登录验证、权限分配等安全措施。

三、系统设计1. 数据库设计为了保证系统数据的完整性和准确性,我们需要对数据库进行设计。

该系统主要由员工信息表、薪资信息表、考勤信息表、部门信息表等构成。

2. 界面设计该系统的界面设计要简洁明了,易于操作。

首先需要设计登录页面,实现用户身份验证和权限管理。

其次,需要设计系统主界面,使用户可以快速定位所需的功能模块。

3. 功能模块设计为了实现人事管理系统的各项需求,我们需要设计如下功能模块:-员工信息管理模块:实现员工的基本信息、个人档案、教育经历、职位信息等的管理。

- 薪资管理模块:实现员工的薪酬信息、绩效考核、社保等的管理。

- 考勤管理模块:实现员工的出勤记录、请假管理、加班管理等的管理。

进行统计分析。

- 系统安全模块:系统必须具备登录验证、权限分配等安全措施,实现系统数据的安全保障。

四、系统开发1. 技术选型根据需求分析和系统设计,我们选择JAVA作为开发语言,并采用MySQL作为数据库。

同时,我们使用Spring、Hibernate、Struts等框架进行开发,以保证系统稳定性和可扩展性。

Java课程设计报告-企业人事管理系统设计.x

Java课程设计报告-企业人事管理系统设计.x

Java课程设计报告题目企业人事管理系统专业信息管理与信息系统班级信管152学号1510402204姓名指导教师完成时间二零一六年六月二十九日目录一、设计任务与要求 (2)1.1 设计任务与要求 (2)1.2 选题目的与意义 (2)二、需求分析 (3)2.1 用户需求分析 (3)2.2 开发环境分析 (3)三、系统设计 (4)3.1 系统总体设计 (4)3.2 功能模块设计 (4)3.3 类及方法的设计 (5)四、程序实现 (6)4.1 程序流程图 (6)4.2 关键程序 (6)五、测试运行 (8)5.1 系统测试方案 (8)5.2 系统测试运行及结果分析 (8)六、设计体会 (12)主要参考文献 (13)附录: (14)一、设计任务与要求1.1设计任务与要求根据所选课题“企业人事管理系统”,完成课程设计的分析、设计和编码,制作一个简单的管理系统,并用窗口界面实现,可以对企业员工的基本信息(员工编号、姓名、性别、联系电话、部门、职务、底薪)实现录入、修改、调用、删除。

并完成课程设计报告。

1.2选题目的与意义无论企业大小,都需要进行人事管理,企业人事管理系统基于这样的要求,实现了对企业人事的基本信息管理。

通过企业人事管理系统的设计过程,深刻了解掌握面向对象程序设计语言Java的核心概念和特性;了解编程技术知识,会处理异常情况。

了解基于Swing的图形用户界面开发;掌握Java应用软件的开发环境和开发过程;灵活选择程序设计思想。

二、需求分析2.1 用户需求分析现在的社会是信息化的社会,随着科学技术的发展,人们越来越多的用计算机去代替和延伸脑力劳动,而且计算机能够更高效地帮助人们去处理一些事情,为了把传统的人事管理和现在用计算机技术对人事进行管理相结合,这次,我设计了这套基本的企业人事管理系统方案。

通过此系统的运用,可以满足企业人事管理的诸多需求,例如对新员工基本信息录入,对离职员工实现信息删除,对员工信息实现修改等需求。

java课程设计人事管理系统

java课程设计人事管理系统

java课程设计人事管理系统一、教学目标本节课的教学目标是使学生掌握Java语言编程的基本技能,通过人事管理系统的设计与实现,让学生了解面向对象编程的思想,掌握类与对象的概念,熟练使用Java语言编写简单的程序。

1.理解Java语言的基本语法和数据结构。

2.掌握面向对象编程的基本概念,包括类、对象、继承、封装和多态。

3.了解Java语言的常用类库和API。

4.能够使用Java语言编写简单的程序。

5.能够运用面向对象编程思想解决实际问题。

6.能够设计和实现一个简单的人事管理系统。

情感态度价值观目标:1.培养学生的编程兴趣,提高学生对计算机科学的热爱。

2.培养学生的团队协作能力和解决问题的能力。

3.使学生认识到编程技术在社会发展和个人发展中的重要性。

二、教学内容本节课的教学内容主要包括Java语言的基本语法、数据结构、面向对象编程思想和人事管理系统的设计与实现。

1.Java语言的基本语法和数据结构。

2.面向对象编程的基本概念,包括类、对象、继承、封装和多态。

3.Java语言的常用类库和API。

4.人事管理系统的设计与实现,包括数据模型设计、界面设计和功能实现。

三、教学方法为了达到本节课的教学目标,我们将采用以下教学方法:1.讲授法:讲解Java语言的基本语法、数据结构和面向对象编程的概念。

2.案例分析法:通过分析实际案例,让学生了解面向对象编程的思想和人事管理系统的设计与实现。

3.实验法:让学生动手编写Java程序,巩固所学知识,培养编程能力。

4.小组讨论法:分组进行讨论,培养学生的团队协作能力和解决问题的能力。

四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《Java编程思想》。

2.参考书:《Java核心技术》。

3.多媒体资料:教学PPT、视频教程。

4.实验设备:计算机、网络。

通过以上教学资源的支持,我们将努力提高学生的学习体验,达到本节课的教学目标。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过课堂参与、提问、小组讨论等方式评估学生的学习态度和积极性。

Java课程设计-人事管理系统的设计与实现

Java课程设计-人事管理系统的设计与实现

课程设计课程名称 Java语言课程设计题目名称人事管理系统的设计和实现学生学院专业班级____ ____ _学号学生姓名指导教师2012年6月8日一、设计内容自学Swing图形界面设计和数据库程序设计。

开发用于某单位的人事管理系统。

该系统要求实现以下功能:员工信息管理(包括:员工信息一览表、新员工的建立、修改、删除)二、设计方案1、使用Netbeans IDE 7.1和SQL Server2000进行编译。

2、代码如下:登录按钮代码:private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {}private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {String user = jTextField1.getText().trim();String password = jTextField2.getText().trim();if (user.equals("wsm") && password.equals("wsm")) {new yuangongxinxiguanli().setVisible(true);setVisible(false);} else {JOptionPane.showMessageDialog(null, "请正确输入!");}}public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new denglu().setVisible(true);}});}员工信息关系系统界面:package 人事管理系统;public class yuangongxinxiguanli extends javax.swing.JFrame {public yuangongxinxiguanli() {initComponents();setLocation(450,220);}@SuppressWarnings("unchecked")// <editor-fold defaultstate="collapsed" desc="Generated Code">private void initComponents() {jButton1 = new javax.swing.JButton();jButton2 = new javax.swing.JButton();jButton3 = new javax.swing.JButton();jLabel1 = new javax.swing.JLabel();jButton4 = new javax.swing.JButton();jButton5 = new javax.swing.JButton();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);jButton1.setText("查询员工信息");jButton1.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton1ActionPerformed(evt);}});jButton2.setText("添加员工信息");jButton2.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton2ActionPerformed(evt);}});jButton3.setText("删除员工信息");jButton3.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton3ActionPerformed(evt);}});jLabel1.setFont(new java.awt.Font("宋体", 0, 24)); // NOI18NjLabel1.setText("员工信息管理系统");jButton4.setText("修改员工信息");jButton4.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton4ActionPerformed(evt);}});jButton5.setText("退出系统");jButton5.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton5ActionPerformed(evt);}});javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI NG).addGroup(layout.createSequentialGroup().addGap(91, 91, 91).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignme nt.LEADING, false).addComponent(jButton1,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE).addComponent(jButton4,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE).addComponent(jButton2,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE).addComponent(jButton3,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE).addComponent(jButton5,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE))).addGroup(layout.createSequentialGroup().addGap(47, 47, 47).addComponent(jLabel1))).addContainerGap(52, Short.MAX_V ALUE)));layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(14, 14, 14).addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(18, 18, 18).addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(ponentPlacement.UNRELATED).addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(ponentPlacement.UNRELATED).addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(ponentPlacement.UNRELATED).addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(ponentPlacement.UNRELATED).addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE).addContainerGap(36, Short.MAX_V ALUE)));pack();}// </editor-fold>private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {chaxun ch=new chaxun();ch.setVisible(true);ch.setLocation(400,220);setVisible(false);}private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {tianjia ti=new tianjia();ti.setVisible(true);ti.setLocation(400,220);setVisible(false);// TODO add your handling code here:}private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {xiugai xi=new xiugai();xi.setVisible(true);xi.setLocation(400,220);setVisible(false);// TODO add your handling code here:}private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {shanchu sh=new shanchu();sh.setVisible(true);sh.setLocation(400,220);setVisible(false);}private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {System.exit(0);}public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new yuangongxinxiguanli().setVisible(true);}});}// Variables declaration - do not modifyprivate javax.swing.JButton jButton1;private javax.swing.JButton jButton2;private javax.swing.JButton jButton3;private javax.swing.JButton jButton4;private javax.swing.JButton jButton5;private javax.swing.JLabel jLabel1;// End of variables declaration}查询按钮代码:可选择项查询按钮代码:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {try {String xuanze= jComboBox1.getSelectedItem().toString().trim();String tianxie=jTextField1.getText().trim();Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");String url="jdbc:microsoft:sqlserver:"+ "//127.0.0.1:1433;DatabaseName=员工信息管理库";Connection con=DriverManager.getConnection(url,"sa","900526");java.sql.Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery("select * from 员工where "+xuanze+"='"+tianxie+"'");DefaultTableModel dt=(DefaultTableModel) jTable1.getModel();dt.getDataVector().clear();dt.fireTableDataChanged();while(rs.next ()){ Vector v1=new Vector();v1.add(rs.getString(1));v1.add(rs.getString(2));v1.add(rs.getString(3));v1.add(rs.getString(4));v1.add(rs.getString(5));v1.add(rs.getString(6));v1.add(rs.getString(7));dt.addRow(v1);}dt.fireTableDataChanged();rs.close();stmt.close();con.close();} catch (ClassNotFoundException ex) {ex.getMessage();}catch(SQLException ex){ex.getMessage();}}查询全部信息按钮代码:private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {try {Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");String url="jdbc:microsoft:sqlserver:"+ "//127.0.0.1:1433;DatabaseName=员工信息管理库";Connection con=DriverManager.getConnection(url,"sa","900526");java.sql.Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery("select * from 员工");DefaultTableModel dt=(DefaultTableModel) jTable1.getModel();dt.getDataVector().clear();while(rs.next ()){ Vector v1=new Vector();v1.add(rs.getString(1));v1.add(rs.getString(2));v1.add(rs.getString(3));v1.add(rs.getString(4));v1.add(rs.getString(5));v1.add(rs.getString(6));v1.add(rs.getString(7));dt.addRow(v1);}dt.fireTableDataChanged();rs.close();stmt.close();con.close();} catch (ClassNotFoundException ex) {Logger.getLogger(chaxun.class.getName()).log(Level.SEVERE, null, ex);}catch(SQLException ex){ex.getMessage();}}public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new chaxun().setVisible(true);}});}添加界面代码:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {try{String yuangonghao = jtf_yuangonghao.getText().trim();String phonenumber = jtf_phonenumber.getText().trim();String name = jtf_name.getText().trim();String age = jtf_age.getText().trim();String sex = jtf_sex.getText().trim();String post = jtf_post.getText().trim();String pay = jtf_pay.getText().trim();Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");String url = "jdbc:microsoft:sqlserver:"+ "//127.0.0.1:1433;DatabaseName=员工信息管理库";Connection con = DriverManager.getConnection(url, "sa", "900526");String str="insert into 员工values(?,?,?,?,?,?,?)";PreparedStatement stmt = con.prepareStatement(str);stmt.setString(1,yuangonghao);stmt.setString(2,name);stmt.setString(3,age);stmt.setString(4,sex);stmt.setString(5,post);stmt.setString(6,phonenumber);stmt.setString(7,pay);ResultSet rs=stmt.executeQuery();rs.close();stmt.close();con.close();} catch (ClassNotFoundException ex) {} catch (SQLException ex) {if (ex.getSQLState().equals("HY000")) {JOptionPane.showMessageDialog(null, "添加成功");}if((ex.getSQLState().equals("23000"))){JOptionPane.showMessageDialog(null, "已经存在该编号的员工,添加失败");}}}public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new tianjia().setVisible(true);}});}修改界面代码:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {try {String xuanze= jComboBox1.getSelectedItem().toString().trim();String tianxie=jTextField2.getText().trim();//haoString tianxie2=jTextField3.getText().trim();//xieif(tianxie2.equals("")){JOptionPane.showMessageDialog(null, "请正确输入!");}else{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");String url="jdbc:microsoft:sqlserver:"+ "//127.0.0.1:1433;DatabaseName=员工信息管理库";Connection con=DriverManager.getConnection(url,"sa","900526");java.sql.Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery("update 员工set "+xuanze+"='"+tianxie2+"'"+"where 员工号="+"'"+tianxie+"'");}} catch (ClassNotFoundException ex) {}catch(SQLException ex){if(ex.getSQLState().equals("HY000"))JOptionPane.showMessageDialog(null, "修改成功");}}private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {}public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {@Overridepublic void run() {new xiugai().setVisible(true);}});}删除界面代码:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {DefaultTableModel dt=(DefaultTableModel) jTable1.getModel();try {String tianxie=jTextField2.getText().trim();Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");String url="jdbc:microsoft:sqlserver:"+ "//127.0.0.1:1433;DatabaseName=员工信息管理库";Connection con=DriverManager.getConnection(url,"sa","900526");java.sql.Statement stmt=con.createStatement();//用于执行静态SQL 语句并返回它所生成结果的对象ResultSet rs=stmt.executeQuery("delete from 员工where 员工号='"+tianxie+"'");rs.close();stmt.close();con.close();} catch (ClassNotFoundException ex) {System.out.println( ex.getMessage());}catch(SQLException ex){//System.out.println( ex.getMessage()+ " "+ex.getSQLState());if(ex.getSQLState().equals("HY000")){dt.getDataVector().clear();dt.fireTableDataChanged();JOptionPane.showMessageDialog(null, "删除成功!");}}}public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new shanchu().setVisible(true);}});}返回按钮代码:private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {new yuangongxinxiguanli().setVisible(true);setVisible(false); }三、结果和数据处理登陆界面:输入管理员账号密码,进行登录。

java课程设计(人事管理系统)

java课程设计(人事管理系统)

人事管理系统一。

系统需求分析: (2)(1)系统的功能设计 (2)(2) 系统功能结构 (2)(3) 数据库设计 (2)二.功能模块开发 (3)(1)查询人员信息界面 (3)(2)添加员工界面 (3)(3)修改员工信息界面 (4)(4)删除员工界面 (5)(5)员工考核界面 (5)(6)员工考核历史记录界面 (6)三.各个类说明 (6)四。

程序代码 (9)(1)Manager (9)(2)CardEmploy (11)(3)SelEmploy (12)(4)AddEmploy (14)(5)ReviseEmploy (16)i UpdDialog (18)(6)DelEmploy (21)(7)AllEmploy (23)(8)Examine (24)(9)History (27)(10)EmployModel (29)(11)AppraisalModel (30)(12)SqlHelper (33)一.系统需求分析:(1)系统的功能设计i员工信息管理:员工信息管理包括对员工基本信息和情况进行查询、添加、删除和修改及部门管理ii员工考核管理:包括对员工的考核情况进行操作,还可以对历史考核情况进行浏览(2)系统功能结构人事管理的系统结构功能结构如图所示:(3)数据库设计名称字段名称数据类型主键非空工号Empno varchar(10)Yes Yes姓名Ename varchar(10)No yes性别Sex varchar(4) No yes出生年月Birthday Datetime No Yes部门DeptNo Char(10) No Yes职务Ejob Char(20)No Yes工资Sal float No Yes名称字段名称数据类型主键非空工号Empno varchar(10)yes yes考核Consequence varchar(10)no yes变更日期RegDate datetime No Yes考核历史记录(History)名称字段名称数据类型主键非空流水号JourNo Int Yes yes工号Empno varchar(10)no yes姓名Ename varchar(10) No Yes上次考核OldInfo varchar(10) No Yes本次考核NewInfo varchar(10)No Yes变更日期RegDate datetime No Yes二. 功能模块开发(1)查询人员信息界面实例一个SelEmploy类,当点击“查询”时调用EmployModel类的queryEmploy方法实现查询(2)添加员工界面实例一个AddEmploy类当点击“添加”时调用EmployModel 类的updEmploy方法实现添加功能(3)修改员工信息界面实例一个ReviseEmploy类当点击“修改”时,先调用UpdDialo弹跳出一个修改信息对话框,信息修改完毕后,调用EmployModel类的updEmploy方法实现修改功能(4)删除员工界面实例一个DelEmploy类当点击“删除”时调用EmployModel类的updEmploy方法实现删除功能(5)员工考核界面实例一个Examine类当点击“确认”时调用AppraisalModel类的updAppraisal方法来完成考核功能(6)员工考核历史记录界面实例一个History类当点击时调用AppraisalModel类的updAppraisal方法来完成考核功能三.各个类说明类之间的关系图:1.M anager类Manager类的一个实例,从而生成了人事管理系统的界面,用JSplitPane类将整个界面分为左右两个部分。

JAVA课程设计——一个简单的教务人事管理系统

JAVA课程设计——一个简单的教务人事管理系统

JAVA课程设计——⼀个简单的教务⼈事管理系统 ⼤三上学期期末总结,没错,上学期,写在下学期新学期开始,哈哈哈。

上学期学习了⾯向对象程序设计,课程设计的题⽬使⽤JAVA语⾔完成⼀个简单的教务⼈事管理系统,能够实现访问数据库的登录验证,分别按部门和员⼯编号查看员⼯信息,增添新员⼯,删除离职员⼯,修改员⼯信息等功能,并且根据不同的操作准确实现对数据库的访问和相应业务逻辑的实现。

直接徒⼿写⼀个管理系统肯定是不现实的,就算写出来了,也有很⼤的改进空间,索性就去读书馆查了⼀下,使⽤JAVA+Mysql+Navicat+NetBeans的综合项⽬书。

原本是教务管理系统,但是写下来太庞⼤了,我记得包括学⽣信息管理,教师信息管理,成绩信息管理等等好多模块,从时间和技术上考虑,打算只写⼀个教务⼈事管理系统,能够实现访问数据库的登录验证,分别按部门和员⼯编号查看员⼯信息,增添新员⼯,删除离职员⼯,修改员⼯信息等功能。

⾸先是安装Mysql,启动服务器后,安装图形化⼯具Navicat创建数据库,建表: 包括使⽤者User表,属性有UserNO,UserID,UserName,UserPWD; 教师信息表TeacherInfo,属性应该有教师编号,教师姓名,教师⽣⽇,教师性别,教师毕业院校,教师专业,教师地址,教师⼊职时间,教师部门,教师岗位; 部门表DepartmentInfo,属性包括DEPARTMENTID,DEPARTMENTNAME;然后填表。

然后使⽤NetBeans编写程序,先是⽤户登录验证模块,了解使⽤DAO模式。

再编写主窗体模块,实现按部门查询,按员⼯编号查询,⼊职新员⼯,员⼯离职,信息修改,退出管理等模块。

最后在登录模块增加了注册账户和重置密码两个功能模块。

其中实现了⼏个常⽤类,包括JDBCUtil类,该类实现了数据库访问的准备⼯作; User类,User类中封装了系统使⽤者的基本信息; gui窗体类,窗体类包括登录窗体(LoginFrame)、管理窗体(ManageFrame)、⼊职新员⼯窗体(AddTeacherFrame)、员⼯离职窗体(DelTeacherFrame)、修改信息窗体(ModifyTeacherFrame)、⽤户密码重置窗体(UserPasswordResetFrame)和⽤户注册账户窗体(UserRegisterFrame); InfoBean类,InfoBean类实现对教师和部门信息的封装; Action类,本课程设计采⽤MVC模式,⽤Action类实现了对教师和部门不同⾏为的封装; 之后就是具体给对应的控件绑定事件,能够根据不同的情况,调⽤相应的类中的⽅法达到显⽰出不同教师信息的效果。

《数据库应用》课程设计——人事管理系统(java源代码)

《数据库应用》课程设计——人事管理系统(java源代码)

《数据库应用》课程设计——人事管理系统(java源代码)//用户登陆类package classsource;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class Land extends JFrame{JFrame jf ;JTextField textName=new JTextField(); JPasswordField textage=new JPasswordField(); JLabel label = new JLabel("员工管理系统");JLabel labelName=new JLabel("用户名:");JLabel labelage=new JLabel("密码:");JButton buttonEnter=new JButton("登录");JButton buttoncancel=new JButton("清空");public Land(){jf=this;setTitle("登录");Font f = new Font("新宋体",Font.PLAIN,12); Container con = getContentPane();con.setLayout(null);label.setBounds(95,10,110,20);label.setFont(new Font("新宋体",Font.PLAIN,14));con.add(label);labelName.setBounds(45,40,55,20);labelName.setFont(f);con.add(labelName);textName.setBounds(95,40,120,20);con.add(textName);labelage.setBounds(45,70,45,20);con.add(labelage);labelage.setFont(f);textage.setBounds(95,70,120,20);con.add(textage);buttonEnter.setBounds(90,110,60,20);buttonEnter.setFont(f);con.add(buttonEnter);//登陆的鼠标监听buttonEnter.addMouseListener(new MouseAdapter(){public void mouseClicked(MouseEvent me){if(textName.getText().equals("")){new JOptionPane().showMessageDialog(null,"用户名不能为空!"); }else if(textage.getText().equals("")){new JOptionPane().showMessageDialog(null,"密码不能为空!"); }else{String sql="select * from UserInformation where User_Name = '" + textName.getText() + "' and Password = '" + textage.getText()+ "'";System.out.println(sql);Judge(sql);}}});buttoncancel.setBounds(155,110,60,20);buttoncancel.setFont(f);con.add(buttoncancel);//清空按钮的鼠标监听方法buttoncancel.addMouseListener(new MouseAdapter(){public void mouseClicked(MouseEvent me){textName.setText("");textage.setText("");}});setResizable(false);Image img=Toolkit.getDefaultToolkit().getImage("image\\main.gif");setIconImage(img);Toolkit t = Toolkit.getDefaultToolkit();int w = t.getScreenSize().width;int h = t.getScreenSize().height;setBounds(w/2-150,h/2-90,300,180);setVisible(true);}private void Judge(String sqlString) {if (Database.joinDB()) {if (Database.query(sqlString))try{if(Database.rs.isBeforeFirst()) {System.out.println("密码正确");jf.setVisible(false);.close();new Main();}else {System.out.println("错误");new JOptionPane().showMessageDialog(null,"用户名或密码错误!","",JOptionPane.ERROR_MESSAGE);}}catch(Exception ex) {System.out.println(ex.getMessage());}}else{System.out.println("连接数据库不成功");}}public static void main(String args[]){new Land();}}//主函数类,可以独立运行package classsource;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class Main extends JFrame implements Runnable{ Thread t=new Thread(this);JDesktopPane deskpane = new JDesktopPane();JPanel p = new JPanel();Label lp1=new Label("欢迎使用员工管理系统 !"); ImageIcon icon1=new ImageIcon("imagetjsc.gif"); ImageIcon icon2=new ImageIcon("imagecxdl.gif"); ImageIcon icon3=new ImageIcon("imagexgmm.gif"); ImageIcon icon4=new ImageIcon("imagetcxt.gif"); ImageIcon icon5=new ImageIcon("imagejj.gif"); ImageIcon icon6=new ImageIcon("imagehelp.gif"); ImageIcon icon7=new ImageIcon("imagecx.gif"); ImageIcon icon8=new ImageIcon("imagegl.gif");ImageIcon icon9=new ImageIcon("imagext.gif");ImageIcon icon10=new ImageIcon("imagexxgl.gif");ImageIcon icon11=new ImageIcon("imagexxcx.gif");ImageIcon icon12=new ImageIcon("imagebz.gif");ImageIcon icon13=new ImageIcon("imagegy.gif");ImageIcon icon14=new ImageIcon("imageglxx.gif");ImageIcon icon15=new ImageIcon("imagecxxx.gif");//完--------------------------------------------------------------------------------public Main(){setTitle("员工管理系统");Container con = getContentPane();con.setLayout(new BorderLayout());con.add(deskpane,BorderLayout.CENTER);Font f =new Font("新宋体",Font.PLAIN,12);JMenuBar mb = new JMenuBar();JMenu systemM = new JMenu("系统管理");systemM.setFont(f);JMenu manageM = new JMenu("信息管理");manageM.setFont(f);JMenu employeeMM = new JMenu("员工信息管理");employeeMM.setFont(f);JMenu selectM = new JMenu("信息查询");selectM.setFont(f);JMenu employeeSM =new JMenu("员工信息查询"); employeeSM.setFont(f);JMenu helpM = new JMenu("帮助");helpM.setFont(f);JMenu aboutM=new JMenu("关于");aboutM.setFont(f);JMenuItem password = new JMenuItem("密码修改"); password.setFont(f);JMenuItem land = new JMenuItem("重新登陆");land.setFont(f);JMenuItem addDelete = new JMenuItem("添加/删除用户"); addDelete.setFont(f);JMenuItem exit = new JMenuItem("退出系统");exit.setFont(f);systemM.add(password);systemM.add(land);systemM.add(addDelete);systemM.add(exit);//为系统管理菜单加事件password.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){System.out.println("AmendPassword");deskpane.add(new AmendPassword());}});land.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Land");setVisible(false);new Land();}});addDelete.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ deskpane.add(new AddDeleteUser());}});exit.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){//new JOptionPane().showMessageDialog(setVisible(false);}});JMenuItem departmentM = new JMenuItem("部门信息管理"); departmentM.setFont(f);JMenuItem employeeM = new JMenuItem("基本信息管理"); employeeM.setFont(f);JMenuItem trainM = new JMenuItem("培训信息管理");trainM.setFont(f);JMenuItem encouragementPunishM = new JMenuItem("奖罚信息管理"); encouragementPunishM.setFont(f);JMenuItem wageM =new JMenuItem("薪资信息管理");wageM.setFont(f);employeeMM.add(trainM);employeeMM.add(employeeM);employeeMM.add(encouragementPunishM);employeeMM.add(wageM);manageM.add(employeeMM);manageM.add(departmentM);//为管理菜单加事件departmentM.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Departmentmanage");deskpane.add(new Departmentmanage());}});employeeM.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Employeemanage");deskpane.add(new Employeemanage());}});trainM.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Trainmanage");deskpane.add(new Trainmanage());}});encouragementPunishM.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){System.out.println("EncouragementPunish");deskpane.add(new EncouragementPunish());}});wageM.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("WageManage");deskpane.add(new WageManage());}});JMenuItem departmentS = new JMenuItem("部门信息查询"); departmentS.setFont(f);JMenuItem employeeS = new JMenuItem("基本信息查询"); employeeS.setFont(f);JMenuItem trainS = new JMenuItem("培训信息查询");trainS.setFont(f);JMenuItem encouragementPunishS = new JMenuItem("奖罚信息查询"); encouragementPunishS.setFont(f);JMenuItem wageS =new JMenuItem("薪资信息查询");wageS.setFont(f);employeeSM.add(trainS);employeeSM.add(employeeS);employeeSM.add(encouragementPunishS);employeeSM.add(wageS);selectM.add(employeeSM);selectM.add(departmentS);//为查询菜单加事件departmentS.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("DIQ");deskpane.add(new DIQ());}});employeeS.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("BIQ");deskpane.add(new BIQ());}});trainS.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("TIQ");deskpane.add(new TIQ());}});encouragementPunishS.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){System.out.println("EPIQ");deskpane.add(new EPIQ());}});wageS.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("SIQ");deskpane.add(new SIQ());}});JMenuItem help = new JMenuItem("帮助");help.setFont(f);JMenuItem about =new JMenuItem("关于");about.setFont(f);helpM.add(help);aboutM.add(about);//为帮助菜单加事件about.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){deskpane.add(new About());}});mb.add(systemM);mb.add(manageM);mb.add(selectM);mb.add(helpM);mb.add(aboutM);setJMenuBar(mb);Image img=Toolkit.getDefaultToolkit().getImage("imagemain.gif"); setIconImage(img);systemM.setIcon(icon9);manageM.setIcon(icon8);selectM.setIcon(icon7);helpM.setIcon(icon6);addDelete.setIcon(icon1);land.setIcon(icon2);password.setIcon(icon3);exit.setIcon(icon4);employeeMM.setIcon(icon5);employeeSM.setIcon(icon5);departmentM.setIcon(icon10);departmentS.setIcon(icon11);help.setIcon(icon6);aboutM.setIcon(icon13);about.setIcon(icon13);employeeM.setIcon(icon14);trainM.setIcon(icon14); encouragementPunishM.setIcon(icon14); wageM.setIcon(icon14);employeeS.setIcon(icon15);trainS.setIcon(icon15); encouragementPunishS.setIcon(icon15); wageS.setIcon(icon15);JToolBar jToolBar1 = new JToolBar(); jToolBar1.setLayout(new GridLayout(9,1)); JButton jButton1 = new JButton();jButton1.setToolTipText("员工基本信息管理"); JButton jButton2 = new JButton();jButton2.setToolTipText("员工基本信息查询"); JButton jButton3 = new JButton();jButton3.setToolTipText("修改密码");JButton jButton5 = new JButton();jButton5.setToolTipText("计算器");JButton jButton6 = new JButton();jButton6.setToolTipText("退出系统");jToolBar1.setMaximumSize(new java.awt.Dimension(600, 50)); jToolBar1.setMinimumSize(new java.awt.Dimension(600, 50)); //添加工具栏中按钮的方法jButton1.setIcon(new ImageIcon("image1.png"));jButton1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Employeemanage");deskpane.add(new Employeemanage());}});jToolBar1.add(jButton1);jButton2.setIcon(new ImageIcon("image2.png"));jButton2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){deskpane.add(new BIQ());}});jToolBar1.add(jButton2);jButton3.setIcon(new ImageIcon("image3.png"));jButton3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){deskpane.add(new AmendPassword());}});jToolBar1.add(jButton3);jButton5.setIcon(new ImageIcon("image5.png"));jButton5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Calculator");deskpane.add(new Calculator());}});jToolBar1.add(jButton5);jButton6.setIcon(new javax.swing.ImageIcon("image6.png")); jButton6.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});jToolBar1.add(jButton6);jToolBar1.setBounds(0, 0, 30, 600);jToolBar1.setEnabled(false);con.add(jToolBar1,BorderLayout.WEST);p.setLayout(new BorderLayout());p.add(lp1,BorderLayout.EAST);t.start();con.add(p,BorderLayout.SOUTH);Toolkit t = Toolkit.getDefaultToolkit();int width = t.getScreenSize().width - 200; int height = t.getScreenSize().height - 100; setSize(width,height);setLocation(150,100);setVisible(true);setResizable(false);}//线程的方法public void run(){System.out.println("线程启动了!");Toolkit t = Toolkit.getDefaultToolkit();int x=t.getScreenSize().width;System.out.println("x=" + x);lp1.setForeground(Color.red);while(true){if(x<-600){x=t.getScreenSize().width;}lp1.setBounds(x,0,700,20);x-=10;try{Thread.sleep(100);}catch(Exception e){} }}public static void main(String[] args){new Main();}}//数据库联接类package classsource;import java.sql.*;public class Database {public static Connection cn;public static Statement st;public static ResultSet rs;public static boolean joinDB() {boolean joinFlag;try {joinFlag = true;Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");cn =DriverManager.getConnection("jdbc:odbc:EmployeeInformationMS","sa"," ");cn.setCatalog("EmployeeInformationMS");System.out.println("数据库连接成功");st = cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);return joinFlag;} catch (SQLException sqlEx) {System.out.println(sqlEx.getMessage());joinFlag = false;return joinFlag;} catch (ClassNotFoundException notfoundEX) { System.out.println(notfoundEX.getMessage());joinFlag = false;return joinFlag;}}public static boolean executeSQL(String sqlString) { boolean executeFlag;try {st.execute(sqlString);executeFlag = true;} catch (Exception e) {executeFlag = false;System.out.println("sql exception:" + e.getMessage()); }return executeFlag;}public static boolean query(String sqlString) {try {rs = null;//System.out.println(sqlString);rs = st.executeQuery(sqlString);} catch (Exception Ex) {System.out.println("sql exception:" + Ex);return false;}return true;}}//添加删除用户类package classsource;import java.awt.event.*;import java.awt.*;import javax.swing.*;import java.sql.*;public class AddDeleteUser extends javax.swing.JInternalFrame { private JButton butACancel,butDCancel,butDelete,butOk;private JComboBox cbUserName;private JLabel jLabel1,jLabel2,jLabel3,jLabel4,jLabel5;private JPasswordField pas1,pas2,pas3;private JTextField txtname;public AddDeleteUser() {initComponents();this.setVisible(true);this.setClosable(true);this.setSize(268,350);}private void initComponents() { jLabel1 = new JLabel();jLabel2 = new JLabel();jLabel3 = new JLabel();txtname = new JTextField();pas1 = new JPasswordField();pas2 = new JPasswordField(); butOk = new JButton();butACancel = new JButton();jLabel4 = new JLabel(); cbUserName = new JComboBox(); jLabel5 = new JLabel();pas3 = new JPasswordField(); butDelete = new JButton(); butDCancel = new JButton(); getContentPane().setLayout(null); jLabel1.setText("新用户名:"); getContentPane().add(jLabel1); jLabel1.setBounds(30, 30, 70, 20); jLabel2.setText("输入密码:");getContentPane().add(jLabel2);jLabel2.setBounds(30, 60, 70, 18); jLabel3.setText("确认密码:"); getContentPane().add(jLabel3);jLabel3.setBounds(30, 90, 60, 18); getContentPane().add(txtname); txtname.setBounds(100, 30, 130, 24); getContentPane().add(pas1);pas1.setBounds(100, 60, 130, 24); getContentPane().add(pas2);pas2.setBounds(100, 90, 130, 24); butOk.setText("添加");getContentPane().add(butOk);butOk.setBounds(80, 130, 70, 27); butACancel.setText("清空"); getContentPane().add(butACancel); butACancel.setBounds(160, 130, 70, 27); jLabel4.setText("已有用户名:"); getContentPane().add(jLabel4);jLabel4.setBounds(30, 180, 80, 18); getContentPane().add(cbUserName); cbUserName.setBounds(100, 180, 130, 24); jLabel5.setText("密码:"); getContentPane().add(jLabel5);jLabel5.setBounds(30, 210, 60, 18);getContentPane().add(pas3);pas3.setBounds(100, 216, 130, 24);butDelete.setText("删除");getContentPane().add(butDelete);butDelete.setBounds(79, 260, 70, 27);butDCancel.setText("清空");getContentPane().add(butDCancel);butDCancel.setBounds(160, 260, 70, 27);//将所有用用户名读出来Database.joinDB();String sql="select * from UserInformation";try{if(Database.query(sql)){while(Database.rs.next()){String name=Database.rs.getString("User_Name");cbUserName.addItem(name);}}}catch(Exception e){}//为添加和取消按钮加事件----------------------------------------- butOk.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){if(txtname.getText().equals("")){new JOptionPane().showMessageDialog(null,"用户名不能为空!");}else if(pas1.getText().equals("")){new JOptionPane().showMessageDialog(null,"密码不能为空!");}else if(pas1.getText().equals(pas2.getText())){String sql="insert UserInformation values('"+ txtname.getText() +"','"+ pas1.getText() +"','B')";try{if(Database.executeSQL(sql)){new JOptionPane().showMessageDialog(null,"添加成功!");cbUserName.addItem(txtname.getText());}}catch(Exception ea){}}}});butACancel.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){txtname.setText("");pas1.setText("");pas2.setText("");}});//为删除和取消按钮加事件--------------------------------------- butDelete.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){String name="" + cbUserName.getSelectedItem();String sql="select * from UserInformation where User_Name='"+ name +"'";try{if(Database.query(sql)){Database.rs.next();String pas=pas3.getText();String password=Database.rs.getString("Password");System.out.println(password);if(pas.equals(password)){String sdelete="delete from UserInformation where User_Name='"+ name +"'";if(Database.executeSQL(sdelete)){new JOptionPane().showMessageDialog(null,"删除成功!");pas3.setText("");cbUserName.removeAllItems();String sql1="select * from UserInformation";if(Database.query(sql1)){while(Database.rs.next()){Stringname1=Database.rs.getString("User_Name"); cbUserName.addItem(name1);}}}}else{new JOptionPane().showMessageDialog(null,"密码不正确!");}}}catch(Exception el){System.out.println(el);}}});butDCancel.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){pas3.setText("");}});}}//修改密码类package classsource;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class AmendPassword extends JInternalFrame { JLabel lbe1=new JLabel("修改密码");JPanel p=new JPanel();public AmendPassword(){setTitle("修改密码");p.add(lbe1);AmendPanel panel=new AmendPanel();Container contentPane=getContentPane(); contentPane.add(p,"North");contentPane.add(panel,"Center");setBounds(100, 100, 280, 260);this.setClosable(true);setVisible(true);}}class AmendPanel extends JPanel {JButton b1,b2;JLabel lbe2,lbe3,lbe4,lbe5; JPasswordField pas1,pas2,pas3; JComboBox tf;public AmendPanel(){lbe2=new JLabel("用户名:");lbe3=new JLabel("输入旧密码:"); lbe4=new JLabel("输入新密码:"); lbe5=new JLabel("确定新密码:"); tf=new JComboBox();pas1=new JPasswordField();pas2=new JPasswordField();pas3=new JPasswordField();b1=new JButton("确定");b2=new JButton("清空");add(lbe2);lbe2.setBounds(16,10,90,25); this.add(tf);tf.setBounds(100,10,120,25); add(lbe3);lbe3.setBounds(16,45,90,25);add(pas1);pas1.setBounds(100,45,120,25);add(lbe4);lbe4.setBounds(16,80,80,25);add(pas2);pas2.setBounds(100,80,120,25);add(lbe5);lbe5.setBounds(16,115,80,25);add(pas3);pas3.setBounds(100,115,120,25);add(b1);b1.setBounds(100,160,60,30);add(b2);b2.setBounds(160,160,60,30);setLayout(null);//将所有用用户名读出来Database.joinDB();String sql="select * from UserInformation";try{if(Database.query(sql)){while(Database.rs.next()){String name=Database.rs.getString("User_Name"); tf.addItem(name);}}}catch(Exception e){}//为确定取消按钮加事件b1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){String name="" + tf.getSelectedItem();System.out.println(name);String sql="select * from UserInformation where User_Name='"+ name +"'";System.out.println(sql);try{if(Database.query(sql)){Database.rs.next();String ps1=pas1.getText();String password=Database.rs.getString("Password");if(ps1.equals(password)){if(pas2.getText().equals(pas3.getText())){String supdate="update UserInformation set Password='"+pas3.getText()+"' where User_Name='"+ name +"'";Database.executeSQL(supdate);new JOptionPane().showMessageDialog(null,"密码更改成功!");}else{new JOptionPane().showMessageDialog(null,"两次密码不同!");}}else{new JOptionPane().showMessageDialog(null,"旧密码不正确!");}}}catch(Exception el){System.out.println(el);}}});b2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){pas1.setText("");pas2.setText("");pas3.setText("");}});}}//关于类package classsource;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class About extends JInternalFrame {JLabel label = new JLabel("运行环境:Windows");JLabel labe2 = new JLabel("开发语言:JAVA");JLabel labe3 = new JLabel("数据库类型:SqlServer2000"); public About(){setTitle("关于");Container con=getContentPane();con.setLayout(new GridLayout(4,1));con.add(label);con.add(labe2);con.add(labe3);con.setBackground(Color.white);setResizable(false);setSize(380,220);setVisible(true);setClosable(true);}}//员工信息查询类package classsource;import java.awt.*;import javax.swing.*;import javax.swing.table.*;import java.awt.event.*;import java.util.*;import javax.swing.JScrollPane.*;import java.sql.*;public class BIQ extends JInternalFrame{JLabel lbl1=new JLabel("基本信息查询");JLabel lbl2=new JLabel("员工编号:");JLabel lbl3=new JLabel("员工姓名:");JTextField btxtid=new JTextField(10);JTextField btxtname=new JTextField(10);JButton btn1=new JButton("查询");JTable table;DefaultTableModel dtm;String columns[] = {"员工编号","员工姓名"," 性别 ","出生日期","婚姻状况","政治面貌"," 学历 ","进入公司时间","转正时间"," 部门 "," 职务 ","员工状态"," 备注"};public BIQ(){setTitle("基本信息查询");dtm = new DefaultTableModel();table = new JTable(dtm);JScrollPane sl = new JScrollPane();sl.getViewport().add(table);dtm.setColumnCount(5);dtm.setColumnIdentifiers(columns); getContentPane().setLayout(null);lbl1.setBounds(240,10,300,30);lbl1.setFont(new Font("宋体",Font.BOLD,24)); getContentPane().add(lbl1);Font f=new Font("宋体",Font.PLAIN,12);lbl2.setBounds(10,60,80,25);lbl2.setFont(f);getContentPane().add(lbl2);btxtid.setBounds(80,60,80,23);btxtid.setFont(f);getContentPane().add(btxtid);lbl3.setBounds(10,90,80,25);lbl3.setFont(f);getContentPane().add(lbl3);btxtname.setBounds(80,90,80,23);btxtname.setFont(f);getContentPane().add(btxtname);btn1.setBounds(90,130,60,25);btn1.setFont(f);getContentPane().add(btn1);sl.setBounds(180,60,500,370);getContentPane().add(sl);//设置边框btxtid.setBorder(BorderFactory.createLineBorder(Color.black));btxtname.setBorder(BorderFactory.createLineBorder(Color.black));btn1.setBorder(BorderFactory.createRaisedBevelBorder());sl.setBorder(BorderFactory.createLineBorder(Color.black));//----连接数据库--------------------------------------------------------------------------Database.joinDB();String sql="select * from EmployeeInformation";if(Database.query(sql)){System.out.println(sql);try{while(Database.rs.next()){String eNumber=(""+Database.rs.getInt("E_Number"));System.out.println(eNumber);String eName=Database.rs.getString("E_Name");System.out.println(eName);String eSex=Database.rs.getString("E_Sex");System.out.println(eSex);String eBornDate=Database.rs.getString("E_BornDate");System.out.println(eBornDate);String eMarriage=Database.rs.getString("E_Marriage");System.out.println(eMarriage);StringePoliticsVisage=Database.rs.getString("E_PoliticsVisage"); System.out.println(ePoliticsVisage);String eSchoolAge=Database.rs.getString("E_SchoolAge"); System.out.println(eSchoolAge);String eEnterDate=Database.rs.getString("E_EnterDate"); System.out.println(eEnterDate);String eInDueFormDate=Database.rs.getString("E_InDueFormDate"); System.out.println(eInDueFormDate);String eDepartment=Database.rs.getString("E_Department"); System.out.println(eDepartment);String eHeadship=Database.rs.getString("E_Headship");System.out.println(eHeadship);String eEstate=Database.rs.getString("E_Estate");System.out.println(eEstate);String eRemark=Database.rs.getString("E_Remark");System.out.println(eRemark);Vector v=new Vector();v.add(eNumber);v.add(eName);v.add(eSex);v.add(eBornDate);v.add(eMarriage);v.add(ePoliticsVisage);v.add(eSchoolAge);v.add(eEnterDate);v.add(eInDueFormDate);v.add(eDepartment);v.add(eHeadship);v.add(eEstate);v.add(eRemark);dtm.addRow(v);}}catch(Exception eBIQ){System.out.println("初始化数据失败!");}}//为查询按钮加事件btn1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent eBIQ){ System.out.println("按钮事件");String esql;int rc=dtm.getRowCount();for(int i=0;i<rc;i++){dtm.removeRow(0);}if(btxtid.getText().equals("")&&btxtname.getText().equals("")){ esql="select * from EmployeeInformation";}else if(btxtname.getText().equals("")){esql="select * from EmployeeInformation where E_Number = '" + btxtid.getText() +"'";}else{esql="select * from EmployeeInformation where E_Number = '" + btxtid.getText() +"' or E_Name like '%"+ btxtname.getText() +"%'";}System.out.println(esql);if(Database.query(esql)){try{while(Database.rs.next()){String eNumber=(""+Database.rs.getInt("E_Number"));System.out.println(eNumber);String eName=Database.rs.getString("E_Name");System.out.println(eName);。

java课程设计--企业人事管理系统

java课程设计--企业人事管理系统

沈阳工程学院课程设计设计题目:企业人事管理系统系别信息工程系班级计本091学生姓名学号指导教师职称副教授、讲师起止日期:2011年6 月6 日起——至2011年6 月17 日止沈阳工程学院课程设计任务书课程设计题目:企业人事管理系统系别信息工程系班级计本091学生姓名学号指导教师职称副教授、讲师课程设计进行地点:实训F任务下达时间:2011 年 6 月 6 日起止日期:2011年6月7日起——至2011年6月17日止教研室主任2011年5月19日批准1.设计的原始资料及依据查阅有关数据库设计、Java语言程序设计以及案例分析等资料,进一步熟悉面向对象程序设计基本理论以及基本思想。

本设计要求按照软件工程、数据库设计思想及设计步骤设计一个实用程序,并采用Java开发该系统。

通过本设计可以加深对面向对象程序设计基本思想的理解,加强学生研发、调试程序的能力,培养学生分析、解决问题的能力,提高学生的科技写作能力。

2.设计的主要内容及要求(1)写出系统的需求分析。

(2)写出系统的数据库设计过程,包括概念结构设计、逻辑结构设计、物理结构设计。

(数据库应用程序管理系统类设计详细写,其它类设计可以略)(3)写出系统设计思路—工作原理、功能规划。

(4)详细设计—数据分析、算法思路、类设计、功能实现(包括程序流程图、主要代码及注释)、界面等。

(5)运行调试与分析讨论--给出运行屏幕截图,分析运行结果,有何改进等。

3.对设计说明书撰写内容、格式、字数的要求(1)学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。

课程设计说明书(论文)的结构及各部分内容要求参照《沈阳工程学院毕业设计(论文)撰写规范》执行。

应做到文理通顺,内容正确完整,书写工整,装订整齐。

(2)装订格式:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、结论、致谢、参考文献。

(3)课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

j a v a课程设计人事管理系统Newly compiled on November 23, 2020人事管理系统一.系统需求分析:(1)系统的功能设计i员工信息管理:员工信息管理包括对员工基本信息和情况进行查询、添加、删除和修改及部门管理ii员工考核管理:包括对员工的考核情况进行操作,还可以对历史考核情况进行浏览(2)系统功能结构人事管理的系统结构功能结构如图所示:(3)数据库设计员工基本表(Employinfo)员工考核表(Appraisal)考核历史记录(History)二. 功能模块开发(1)查询人员信息界面实例一个SelEmploy类,当点击“查询”时调用EmployModel类的queryEmploy方法实现查询(2)添加员工界面实例一个AddEmploy类当点击“添加”时调用EmployModel类的updEmploy方法实现添加功能(3)修改员工信息界面实例一个ReviseEmploy类当点击“修改”时,先调用UpdDialo弹跳出一个修改信息对话框,信息修改完毕后,调用EmployModel类的updEmploy方法实现修改功能(4)删除员工界面实例一个DelEmploy类当点击“删除”时调用EmployModel类的updEmploy方法实现删除功能(5)员工考核界面实例一个Examine类当点击“确认”时调用AppraisalModel类的updAppraisal方法来完成考核功能(6)员工考核历史记录界面实例一个History类当点击时调用AppraisalModel类的updAppraisal方法来完成考核功能三.各个类说明类之间的关系图:1.M anager类Manager类的一个实例,从而生成了人事管理系统的界面,用JSplitPane类将整个界面分为左右两个部分。

其中左侧实现了人事管理系统的功能树,采用JTree类构建,同时实现了TreeSelectionListener接口,定义了该接口所必须实现的valueChanged(TreeSelectionEvent e)方法,JSplitPane右边加入卡片布局CardEmploy 类。

当JTree的TreeSelectionEvent事件发生时,调用CardEmploy的方法切换不同卡片,实现不同的管理界面。

2.CardEmploy类CardEmploy为卡片布局类的面板,主要功能是添加各个界面的卡片,当JTree的TreeSelectionEvent事件发生时。

切换不同的卡片3.EmployModel、AppraisalModel类这两个类继承了AbstractTableModel,主要实现的功能是,存放调用sqlhelper类得到的数据。

可以通过调用sqlhelper实现增删查改功能4.SqlHelpe r类主要就是连接数据库的一些基础操作是,方便代码修改,重复使用5.SelEmplo y这个类继承Panel,为“查询员工”的界面。

实现了Actionlistener 接口,当ActionEvent 事件发生时,调用EmployModel类的queryEmploy方法实现查询6.AddEmploy、ReviseEmploy、DelEmploy类这些类继承Pane,分别为“添加员工信息”“修改员工信息”“删除员工信息”的界面,这些类实现了Actionlistener 接口,当ActionEvent 事件发生时,调用EmployModel类的updEmploy方法实现添加、查询、删除、功能7.Examine类这个类继承Panel,为“考核员工”界面。

这个类实现了Actionlistener 接口,当ActionEvent 事件发生时,(1)先通过调用AppraisalModel的queryAppraisal 获取上次考核成绩,(2)修改Appraisal表的考核成绩(3)再把上次考核成绩跟本次考核成绩加到History表中8.History这个类主要是把History表中的信息显示到界面上。

四.程序代码(1)Managerpackage ;import .*;import .*;importimport ;importimport .*;public class Manager extends JFrame implements TreeSelectionListener { JPanel jp;JSplitPane js;JScrollPane jsp;JTree tree;DefaultMutableTreeNode root, t1, t2, t1_1, t1_2, t1_3, t1_4, t1_5, t2_1,t2_2;CardEmploy ae;EmployModel em;public static void main(String[] args) {Manager manager = new Manager();}public Manager() {dd(js);("人事管理系统");(true);(600, 500);;}public void valueChanged(TreeSelectionEvent e) {etLastSelectedPathComponent();;import .*;public class CardEmploy extends Panel{CardLayout c;;import .*;importpublic class SelEmploy extends Panel implements ActionListener { EmployModel em;JLabel jl;JTextField jtf;JButton jb;JTable jt;JScrollPane jsp;JPanel jp1;public SelEmploy() {;import .*;importpublic class AddEmploy extends Panel implements ActionListener { JLabel jl, jl1, jl2, jl3, jl4, jl5, jl6, jl7;JButton jb1, jb2;JTextField jtf1, jtf2, jtf3, jtf4, jtf5, jtf6, jtf7;JPanel jp1, jp2, jp3, jp4;EmployModel em;public AddEmploy() {jl1 = new JLabel("工号:");jl2 = new JLabel("姓名:");jl3 = new JLabel("性别:");jl4 = new JLabel("出生年月:");jl5 = new JLabel("部门:");jl6 = new JLabel("职位:");jl7 = new JLabel("工资:");jtf1 = new JTextField(20);jtf2 = new JTextField(20);jtf3 = new JTextField(20);jtf4 = new JTextField(20);jtf6 = new JTextField(20);jtf7 = new JTextField(20);jb1 = new JButton("添加");jb2 = new JButton("取消");;importimport .*;public class ReviseEmploy extends Panel implements ActionListener { JTable jt;JScrollPane jsp;JButton jb1, jb2;JPanel jp1,jp2;EmployModel em;JLabel jl1;public ReviseEmploy() {jl1 = new JLabel("修改员工信息",;(new Font("宋体", , 28));jp2 = new JPanel();(jl1);em = new EmployModel();String[] paras = { "1" };("select * from Employinfo where 1 = ", paras);jt = new JTable(em);jsp = new JScrollPane(jt);jb1 = new JButton("修改");jb2 = new JButton("刷新");;import .*;importpublic class UpdDialog extends JDialog implements ActionListener { JLabel jl1, jl2, jl3, jl4, jl5, jl6, jl7;JButton jb1, jb2;JTextField jtf1, jtf2, jtf3, jtf4, jtf5, jtf6, jtf7;JPanel jp1, jp2, jp3;public UpdDialog(EmployModel em, int rowNums) {jl1 = new JLabel("工号:");jl2 = new JLabel("姓名:");jl3 = new JLabel("性别:");jl4 = new JLabel("出生年月:");jl5 = new JLabel("部门:");jl6 = new JLabel("职位:");jl7 = new JLabel("工资:");jtf1 = new JTextField(20);jtf2 = new JTextField(30);jtf4 = new JTextField(30);jtf5 = new JTextField(30);jtf6 = new JTextField(30);jtf7 = new JTextField(30);;import .*;importpublic class DelEmploy extends Panel implements ActionListener { JTable jt;JScrollPane jsp;JButton jb1, jb2;JPanel jp1, jp2;JLabel jl1;EmployModel em;public DelEmploy() {;import .*;public class AllEmploy extends Panel{EmployModel em;JTable jt;JScrollPane jsp;JLabel jl1;JPanel jp;public AllEmploy(){;importimportimport ;import .*;import .*;public class Examine extends Panel implements ActionListener { JLabel jl1, jl2, jl3, jl4;JTable jt;JScrollPane jsp;JTextField jtf1, jtf2;Choice ch;JButton jb1, jb2;JPanel jp1, jp2, jp3, jp4;AppraisalModel am;SqlHelper sqh;public Examine() {;importimport .*;public class History extends Panel implements ActionListener { AppraisalModel am;JTable jt;JScrollPane jsp;JLabel jl1;JPanel jp, jp1, jp2;JButton jb1, jb2;public History() {;import .*;public class EmployModel extends AbstractTableModel{Vector rowData,columnNames;;import .*;public class AppraisalModel extends AbstractTableModel { Vector rowData, columnNames;;public class SqlHelper {Connection ct = null;PreparedStatement ps = null;ResultSet rs = null;String driver = ;String url = "jdbc:odbc:Manager";// 查询数据库操作public ResultSet queryExecute(String sql, String[] paras) { try {(driver);ct = (url);ps = (sql);for (int i = 0; i < ; i++) {(i + 1, paras[i]);}rs = ();} catch (Exception e) {();}return rs;}//没注入式查询数据库操作public ResultSet queryExecute(String sql) {try {(driver);ct = (url);ps = (sql);rs = ();} catch (Exception e) {();}return rs;}// 增删改功能public boolean updExecute(String sql, String[] paras) { boolean b = true;try {(driver);ct = (url);ps = (sql);for (int i = 0; i < ; i++) {(i + 1, paras[i]);}if () != 1)b = false;} catch (Exception e) {b = false;();} finally {();}return b;}// 重写 close 关闭数据库资源public void close() {try {if (rs != null)();if (ps != null)();if (ct != null)();} catch (Exception e2) {();}}}。

相关文档
最新文档