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课程设计(人事管理系统)

人事管理系统一.系统需求分析: (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 (23)(9)History (27)(10)EmployModel (29)(11)AppraisalModel (30)(12)SqlHelper (33)一.系统需求分析:(1)系统的功能设计i员工信息管理:员工信息管理包括对员工基本信息和情况进行查询、添加、删除和修改及部门管理ii员工考核管理:包括对员工的考核情况进行操作,还可以对历史考核情况进行浏览(2)系统功能结构人事管理的系统结构功能结构如图所示:(3)数据库设计考核历史记录(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类将整个界面分为左右两个部分。

java课程设计(人事管理系统)毕业用资料

java课程设计(人事管理系统)毕业用资料

人事管理系统一.系统需求分析: (3)(1)系统的功能设计 (3)(2)系统功能结构 (3)(3)数据库设计 (3)二.功能模块开发 (5)(1)查询人员信息界面 (5)(2)添加员工界面 (5)(3)修改员工信息界面 (6)(4)删除员工界面 (6)(5)员工考核界面 (7)(6)员工考核历史记录界面 (7)三.各个类说明 (8)四.程序代码 (12)(1)Manager (12)(2)CardEmploy (16)(3)SelEmploy (19)(4)AddEmploy (22)(5)ReviseEmploy (28)i UpdDialog (31)(6)DelEmploy (37)(7)AllEmploy (40)(8)Examine (42)(9)History (49)(10)EmployModel (52)(11)AppraisalModel (56)(12)SqlHelper (61)一.系统需求分析:(1)系统的功能设计i员工信息管理:员工信息管理包括对员工基本信息和情况进行查询、添加、删除和修改及部门管理ii员工考核管理:包括对员工的考核情况进行操作,还可以对历史考核情况进行浏览(2)系统功能结构人事管理的系统结构功能结构如图所示:(3)数据库设计员工基本表(Employinfo)名称字段名称数据类型主键非空工号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员工考核表(Appraisal)名称字段名称数据类型主键非空工号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。

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

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

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

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

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

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

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

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

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

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

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字。

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

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

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

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

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

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

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

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

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

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

行统计分析。

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

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

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

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

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

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

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

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

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

进行统计分析。

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

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

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

Java项目之员工人事管理系统(Java毕业设计_课程设计项目指导)PPT模板

Java项目之员工人事管理系统(Java毕业设计_课程设计项目指导)PPT模板
java项目之员工人事 管理系统(java毕业设 计/课程设计项目指导)
演讲人 2 0 2 x - 11 - 11
01
第1章员工人事管理系统
第1章员工人事管理系统
1-1课程概述课程概 述
A
1-4eclipse开发工 具使用eclipse开发
工具使用
D
1-2人事管理系统需 求文档介绍人事管 理系统需求文档介

B
1-5tomcat关联开 发工具
eclipsetomcat关 联开发工具eclipseEΒιβλιοθήκη 1-3jdk安装jdk安 装
C
1-6mysql数据库 客户端安装mysql 数据库客户端安装
F
第1章员工人事管理系统
1-7mysql数据库服务端安装mysql数据库服务端安装 1-8人事管理系统发布0人事管理系统发布 1-9项目发布常见错误以及解决方案项目发布常见错误以及解决方案 1-10人事管理系统功能介绍人事管理系统功能介绍
感谢聆听

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人事部课程设计

java人事部课程设计一、教学目标本课程旨在让学生掌握Java编程基础,了解面向对象编程思想,培养学生编写简单Java程序的能力。

具体目标如下:1.知识目标:(1)理解Java编程语言的基本语法和数据类型。

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

(3)熟悉常用的Java编程API和库。

2.技能目标:(1)能够使用Java编写简单的程序,如计算器、通讯录等。

(2)具备阅读和理解Java程序的能力。

(3)学会使用调试工具进行程序调试和故障排查。

3.情感态度价值观目标:(1)培养学生对编程的兴趣,增强其自主学习的动力。

(2)培养学生解决问题的能力,提高其面对挑战的信心。

(3)培养学生团队协作的精神,增强其沟通协作的能力。

二、教学内容本课程的教学内容主要包括Java编程语言的基本语法、数据类型、面向对象编程、常用API和库等。

具体安排如下:1.第一章:Java编程语言概述(1)Java语言的发展历史(2)Java语言的特点(3)Java开发环境搭建2.第二章:Java基本语法(1)变量和数据类型(2)运算符与表达式(3)控制结构3.第三章:面向对象编程(1)类与对象(2)封装与继承(3)多态与接口4.第四章:常用API和库(1)ng包(2)java.util包(3)其他常用库5.第五章:Java程序设计实例(1)计算器程序(2)通讯录程序(3)小游戏程序三、教学方法本课程采用讲授法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。

1.讲授法:通过讲解Java编程的基本概念和语法,使学生掌握相关知识。

2.案例分析法:分析实际编程案例,让学生理解面向对象编程的思想和技巧。

3.实验法:让学生动手编写Java程序,培养其实际编程能力。

四、教学资源1.教材:《Java编程基础》2.参考书:《Java核心技术》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、网络环境以上为本次示范课的课程设计,希望能够帮助学生更好地学习Java编程,提高其编程能力。

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课程设计人事管理系统

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

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

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

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

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

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

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

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

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

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

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

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

人事管理系统(1)系统的功能设计3(2)系统功能结构3(3)数据库设计3二.功能模块开发 (4)(1)查询人员信息界面4(2)添加员工界面5(3)修改员工信息界面5(4)删除员工界面6(5)员工考核界面7(6)员工考核历史记录界面7三.各个类说明 (8)四.程序代码 (11)(1)................................................................................................................ M anager 11(2)........................................................................................................... CardEmploy 14(3).............................................................................................................. S elEmploy 16(4)............................................................................................................ AddEmploy 17(5)........................................................................................................ ReviseEmploy 21i UpdDialog (23)(6)............................................................................................................. DelEmploy 27(7).............................................................................................................. AllEmploy 29(8)................................................................................................................. E xamine 30(9)................................................................................................................... H istory 34(10)...................................................................................................... EmployModel 37(11)................................................................................................... AppraisalModel 39(12)............................................................................................................. S qlHelper 42一.系统需求分析:(1)系统的功能设计i员工信息管理:员工信息管理包括对员工基本信息和情况进行查询、添加、删除和修改及部门管理ii员工考核管理:包括对员工的考核情况进行操作,还可以对历史考核情况进行浏览(2)系统功能结构人事管理的系统结构功能结构如图所示:(3)数据库设计员工基本表(Employinfo)名称字段名称数据类型主键非空Yes Yes 工号Empno varchar(10)No yes 姓名Ename varchar(10)性别Sex varchar(4)No yes出生年月Birthday Datetime No Yes部门DeptNo Char(10)No Yes员工考核表(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.Manager类Manager类的一个实例,从而生成了人事管理系统的界面,用JSplitPane 类将整个界面分为左右两个部分。

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

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

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 com.Manager;import java.awt.*;import javax.swing.*;import javax.swing.event.TreeSelectionEvent;import javax.swing.event.TreeSelectionListener;import javax.swing.tree.*;import java.awt.event.*;public class Manager extends JFrame implements TreeSelectionListener { J Panel jp;J SplitPane js;J ScrollPane jsp;J Tree tree;D efaultMutableTreeNode root, t1, t2, t1_1, t1_2, t1_3, t1_4, t1_5, t2_1,t2_2;C ardEmploy ae;E mployModel em;p ublic static void main(String[] args) {Manager manager = new Manager();}p ublic Manager() {// 给树的各个结点赋值root = new DefaultMutableTreeNode("人事管理系统");t1 = new DefaultMutableTreeNode("基本信息管理");t1_1 = new DefaultMutableTreeNode("查询员工");t1_2 = new DefaultMutableTreeNode("添加员工");t1_3 = new DefaultMutableTreeNode("修改员工信息"); t1_4 = new DefaultMutableTreeNode("删除员工资料"); t1_5 = new DefaultMutableTreeNode("查询全体员工");t2 = new DefaultMutableTreeNode("人员考核管理"); t2_1 = new DefaultMutableTreeNode("人员考核");t2_2 = new DefaultMutableTreeNode("考核历史查询");t1.add(t1_1);t1.add(t1_2);t1.add(t1_3);t1.add(t1_4);t1.add(t1_5);t2.add(t2_1);t2.add(t2_2);root.add(t1);root.add(t2);tree = new JTree(root);// 对树进行监听tree.addTreeSelectionListener(this);// 实例化CardEmploy面板并加到jsplitpane的边ae = new CardEmploy();js = new JSplitPane();js.setLeftComponent(tree);js.setRightComponent(ae);this.getContentPane().add(js);this.setTitle("人事管理系统");this.setVisible(true);this.setSize(600, 500);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}p ublic void valueChanged(TreeSelectionEvent e) {// 获取点击结点名称DefaultMutableTreeNode dpath = (DefaultMutableTreeNode) tree .getLastSelectedPathComponent();// 通过点击不同结点切换不同界面if (dpath.equals(t1_1)) {ae.c.show(ae, "1");} else if (dpath.equals(t1_2)) {ae.c.show(ae, "2");} else if (dpath.equals(t1_3)) {ae.c.show(ae, "3");} else if (dpath.equals(t1_4)) {ae.c.show(ae, "4");} else if (dpath.equals(t1_5)) {ae.c.show(ae, "5");} else if (dpath.equals(t2_1)) {ae.c.show(ae, "6");} else if (dpath.equals(t2_2)) {ae.c.show(ae, "7");}}}(2)CardEmploy /*** 用卡片布局设置各个界面*/package com.Manager;import javax.swing.*;import java.awt.*;public class CardEmploy extends Panel{C ardLayout c;//查询表S elEmploy selE;//添加表A ddEmploy addE;//修改员工信息表ReviseEmploy revE;//删除员工表格DelEmploy delE;//所有员工信息AllEmploy allE;//员工考核表Examine exaE;//历史记录界面History His;public CardEmploy(){//查询员工表selE = new SelEmploy();//添加员工表addE = new AddEmploy();//修改员工信息revE = new ReviseEmploy();//删除员工表格delE = new DelEmploy();//所有员工信息allE =new AllEmploy();//员工考核表exaE = new Examine();//历史记录界面His = new History();JPanel jp = new JPanel();//定义cardemploy面板为卡片布局//把各个面板加入到C的卡片布局中c = new CardLayout();this.setLayout(c);this.add(selE,"1");this.add(addE,"2");this.add(revE,"3");this.add(delE,"4");this.add(allE,"5");this.add(exaE,"6");this.add(His,"7");}}(3)SelEmploy/*** SelEmploy 类设置查询员工界面*/package com.Manager;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class SelEmploy extends Panel implements ActionListener { E mployModel em;J Label jl;J TextField jtf;J Button jb;J Table jt;J ScrollPane jsp;J Panel jp1;p ublic SelEmploy() {// 北部jp1 = new JPanel();jl = new JLabel("输入员工号:");jtf = new JTextField(20);jb = new JButton("查询");// 对查询按钮监听jb.addActionListener(this);jp1.add(jl);jp1.add(jtf);jp1.add(jb);// 中部em = new EmployModel();String[] paras = { "1" };em.queryEmploy("select * from Employinfo where 1 = ?", paras);jt = new JTable(em);jsp = new JScrollPane(jt);this.setLayout(new BorderLayout());this.add(jp1, BorderLayout.NORTH);this.add(jsp, BorderLayout.CENTER);}p ublic void actionPerformed(ActionEvent e) {if (e.getSource() == jb) {String name = this.jtf.getText().trim();String sql = "select * from Employinfo where Empno = ?";String[] paras = { name };em = new EmployModel();em.queryEmploy(sql, paras);// 查找成功更新表jt.setModel(em);}}}(4)AddEmploy package com.Manager;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class AddEmploy extends Panel implements ActionListener { J Label jl, jl1, jl2, jl3, jl4, jl5, jl6, jl7;J Button jb1, jb2;J TextField jtf1, jtf2, jtf3, jtf4, jtf5, jtf6, jtf7;J Panel jp1, jp2, jp3, jp4;E mployModel em;p ublic 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);jtf5 = new JTextField(20);jtf6 = new JTextField(20);jtf7 = new JTextField(20);jb1 = new JButton("添加");jb2 = new JButton("取消");// 监听‘添加’ ‘取消’按钮jb1.addActionListener(this);jb2.addActionListener(this);jp1 = new JPanel(new GridLayout(7, 1)); jp2 = new JPanel(new GridLayout(7, 1)); jp3 = new JPanel();jp1.add(jl1);jp1.add(jl2);jp1.add(jl3);jp1.add(jl4);jp1.add(jl5);jp1.add(jl6);jp1.add(jl7);jp2.add(jtf1);jp2.add(jtf2);jp2.add(jtf3);jp2.add(jtf4);jp2.add(jtf5);jp2.add(jtf6);jp2.add(jtf7);jp3.add(jb1);jp3.add(jb2);jp4 = new JPanel(new BorderLayout());jp4.add(jp1, BorderLayout.WEST);jp4.add(jp2, BorderLayout.EAST);jp4.setSize(300, 300);this.setLayout(new FlowLayout());this.add(jp4);this.add(jp3);}p ublic void actionPerformed(ActionEvent e) {if (e.getSource() == jb1) {// 调用EmployModel 里的updEmploy 方法,实现对表格的添加String sql = "insert into Employinfo values(?,?,?,?,?,?,?)";String[] paras = { jtf1.getText(), jtf2.getText(), jtf3.getText(),jtf4.getText(), jtf5.getText(), jtf6.getText(),jtf7.getText() };em = new EmployModel();if (em.updEmploy(sql, paras)) {// 当添加新员工成功时,则弹出”添加成功“的对话框JOptionPane.showMessageDialog(this, "添加成功");} else if (!em.updEmploy(sql, paras)) {JOptionPane.showMessageDialog(this, "添加失败");}// 当新员工加入成功后,要把新加入员工的工号加到考核表AppraisalModel temp = new AppraisalModel();String sql1 = "insert into Appraisal(Empno) values(?)";String[] paras1 = { jtf1.getText() };temp.updAppraisal(sql1, paras1);}else if(e.getSource() == jb2){jtf1.setText("");jtf2.setText("");jtf3.setText("");jtf4.setText("");jtf5.setText("");jtf6.setText("");jtf7.setText("");}}}(5)ReviseEmploy package com.Manager;/*** 修改员工界面*/import java.awt.*;import java.awt.event.*;import javax.swing.*;public class ReviseEmploy extends Panel implements ActionListener { J Table jt;J ScrollPane jsp;J Button jb1, jb2;J Panel jp1,jp2;E mployModel em;JLabel jl1;p ublic ReviseEmploy() {jl1 = new JLabel("修改员工信息",JLabel.CENTER);jl1.setFont(new Font("宋体", Font.BOLD, 28));jp2 = new JPanel();jp2.add(jl1);em = new EmployModel();String[] paras = { "1" };em.queryEmploy("select * from Employinfo where 1 = ?", paras);jt = new JTable(em);jsp = new JScrollPane(jt);jb1 = new JButton("修改");jb2 = new JButton("刷新");// 对两个按钮进行监听jb1.addActionListener(this);jb2.addActionListener(this);this.setLayout(new BorderLayout());jp1 = new JPanel();jp1.add(jb1);jp1.add(jb2);this.add(jp2,BorderLayout.NORTH);this.add(jsp, BorderLayout.CENTER);this.add(jp1, BorderLayout.SOUTH);}p ublic void actionPerformed(ActionEvent e) {if (e.getSource() == jb1) {int rowNum = this.jt.getSelectedRow();if (rowNum == -1) {JOptionPane.showMessageDialog(this, "请选择一行");return;}// 弹出修改对话框new UpdDialog(em, rowNum);} else if (e.getSource() == jb2) {// 刷新修改界面中的表格em = new EmployModel();String[] paras1 = { "1" };em.queryEmploy("select * from Employinfo where 1 = ?", paras1);jt.setModel(em);}}}i UpdDialogpackage com.Manager;/*** 弹出修改界面*/import javax.swing.*;import java.awt.*;import java.awt.event.*;public class UpdDialog extends JDialog implements ActionListener {J Label jl1, jl2, jl3, jl4, jl5, jl6, jl7;J Button jb1, jb2;J TextField jtf1, jtf2, jtf3, jtf4, jtf5, jtf6, jtf7;J Panel jp1, jp2, jp3;p ublic 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);jtf3 = new JTextField(30);jtf4 = new JTextField(30);jtf5 = new JTextField(30);jtf6 = new JTextField(30);jtf7 = new JTextField(30);// 初始化jtextfield数据jtf1.setText((String) em.getValueAt(rowNums, 0)); jtf1.setEditable(false);jtf2.setText((String) em.getValueAt(rowNums, 1)); jtf3.setText((String) em.getValueAt(rowNums, 2)); jtf4.setText((String) em.getValueAt(rowNums, 3)); jtf5.setText((String) em.getValueAt(rowNums, 4)); jtf6.setText((String) em.getValueAt(rowNums, 5)); jtf7.setText((String) em.getValueAt(rowNums, 6));jb1 = new JButton("修改");jb2 = new JButton("取消");// 对两个按钮监听jb1.addActionListener(this);jb2.addActionListener(this);jp1 = new JPanel();jp2 = new JPanel();jp3 = new JPanel();// 设置布局jp1.setLayout(new GridLayout(7, 1));jp2.setLayout(new GridLayout(7, 1));// 添加组件jp1.add(jl1);jp1.add(jl2);jp1.add(jl3);jp1.add(jl4);jp1.add(jl5);jp1.add(jl6);jp1.add(jl7);jp2.add(jtf1);jp2.add(jtf2);jp2.add(jtf3);jp2.add(jtf4);jp2.add(jtf5);jp2.add(jtf6);jp2.add(jtf7);jp3.add(jb1);jp3.add(jb2);this.add(jp1, BorderLayout.WEST);this.add(jp2, BorderLayout.CENTER);this.add(jp3, BorderLayout.SOUTH);this.setSize(300, 250);this.setVisible(true);this.setLocation(200, 200);this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {dispose();}});}p ublic void actionPerformed(ActionEvent e) {if (e.getSource() == jb1) {// 修改员工信息的sql 语句,paras 为待注入的值String sql = "update Employinfo set "+ "Ename = ?,Sex = ?,Birthday = ?, DeptNo = ?, Ejob = ? ,Sal=? where Empno = ?";String[] paras = { jtf2.getText(), jtf3.getText(), jtf4.getText(),jtf5.getText(), jtf6.getText(), jtf7.getText(),jtf1.getText() };EmployModel temp = new EmployModel();// 如果修改语句运行成功则弹出“修改成功”对话框if (temp.updEmploy(sql, paras)) {JOptionPane.showMessageDialog(this, "修改成功");}this.dispose();} else if (e.getSource() == jb2) {// 关闭对话框this.dispose();}}}(6)DelEmploy/*** 删除员工*/package com.Manager;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class DelEmploy extends Panel implements ActionListener {J Table jt;J ScrollPane jsp;J Button jb1, jb2;J Panel jp1, jp2;J Label jl1;E mployModel em;p ublic DelEmploy() {// 北部jl1 = new JLabel("删除员工", JLabel.CENTER);jl1.setFont(new Font("黑体", Font.BOLD, 30));jp2 = new JPanel();jp2.add(jl1);// 中部em = new EmployModel();String[] paras = { "1" };em.queryEmploy("select * from Employinfo where 1 = ?", paras);jt = new JTable(em);jsp = new JScrollPane(jt);// 南部jp1 = new JPanel();jb1 = new JButton("删除");jb2 = new JButton("取消");jb1.addActionListener(this);jp1.add(jb1);jp1.add(jb2);this.setLayout(new BorderLayout());this.add(jp2, BorderLayout.NORTH);this.add(jsp, BorderLayout.CENTER);this.add(jp1, BorderLayout.SOUTH);}p ublic void actionPerformed(ActionEvent e) {if (e.getSource() == jb1) {// 返回用户点中的行int rowNum = this.jt.getSelectedRow();if (rowNum == -1) {JOptionPane.showMessageDialog(this, "请选择一行");return;}// 得到学生编号String Empno = (String) em.getValueAt(rowNum, 0);// 删除记录的sql语句String sql = "delete from Employinfo where Empno = ?";String[] paras = { Empno };EmployModel temp = new EmployModel();temp.updEmploy(sql, paras);// 删除员工成功后,更新员工表em = new EmployModel();String[] paras1 = { "1" };em.queryEmploy("select * from Employinfo where 1 = ?", paras1);jt.setModel(em);}}}(7)AllEmploy/*** 遍历所有员工*/package com.Manager;import java.awt.*;import javax.swing.*;public class AllEmploy extends Panel{E mployModel em;J Table jt;J ScrollPane jsp;JLabel jl1;JPanel jp;p ublic AllEmploy(){//北部jp = new JPanel();jl1 = new JLabel("全体员工",JLabel.CENTER);jl1.setFont(new Font("黑体", Font.BOLD, 30));jp.add(jl1);//中部em = new EmployModel();String []paras ={"1"};em.queryEmploy("select * from Employinfo where 1 = ?", paras);jt = new JTable(em);jsp = new JScrollPane(jt);this.setLayout(new BorderLayout());this.add(jp,BorderLayout.NORTH);this.add(jsp,BorderLayout.CENTER);}}(8)Examine/*** 员工考核界面*/package com.Manager;import java.awt.*;import java.awt.event.*;import java.sql.ResultSet;import java.util.Vector;import java.sql.*;import javax.swing.*;public class Examine extends Panel implements ActionListener {J Label jl1, jl2, jl3, jl4;J Table jt;J ScrollPane jsp;J TextField jtf1, jtf2;C hoice ch;J Button jb1, jb2;J Panel jp1, jp2, jp3, jp4;A ppraisalModel am;S qlHelper sqh;p ublic Examine() {// 北部为标题文字jp4 = new JPanel();jl1 = new JLabel("员工考核", JLabel.CENTER);jl1.setFont(new Font("黑体", Font.BOLD, 30));jp4.add(jl1);// 中部am = new AppraisalModel();am.queryAppraisal("select E.Empno,E.Ename,A.Consequence,A.RegDate from "+ "Employinfo as E,Appraisal as A where E.Empno=A.Empno");jt = new JTable(am);jsp = new JScrollPane(jt);// 监听jtable 点击表格时获取点击的行数并通过鼠标点击事件给jtf1,jtf2 赋值jt.addMouseListener(new MouseAdapter() {public void mouseClicked(MouseEvent e) {int rowNum = jt.getSelectedRow();jtf1.setText((String) am.getValueAt(rowNum, 0));jtf2.setText((String) am.getValueAt(rowNum, 1));}});jl2 = new JLabel("工号:");jl3 = new JLabel("姓名:");jl4 = new JLabel("考核");jtf1 = new JTextField(10);jtf2 = new JTextField(10);jtf1.setEditable(false);jtf2.setEditable(false);// 实例单选框组件,并赋值ch = new Choice();ch.add("未考核");ch.add("不合格");ch.add("合格");ch.add("优秀");jp1 = new JPanel();jp1.add(jl2);jp1.add(jtf1);jp1.add(jl3);jp1.add(jtf2);jp1.add(jl4);jp1.add(ch);jp2 = new JPanel(new BorderLayout()); jp2.add(jsp, BorderLayout.CENTER);jp2.add(jp1, BorderLayout.SOUTH);// 南部jb1 = new JButton("确认");jb2 = new JButton("刷新");jp3 = new JPanel();jb1.addActionListener(this);jb2.addActionListener(this);jp3.add(jb1);jp3.add(jb2);this.setLayout(new BorderLayout());this.add(jp4, BorderLayout.NORTH);this.add(jp2, BorderLayout.CENTER);this.add(jp3, BorderLayout.SOUTH);}p ublic void actionPerformed(ActionEvent e) {if (e.getSource() == jb1) {String Empno = jtf1.getText();String Ename = jtf2.getText();String Consequence = ch.getSelectedItem();// 先获取上次考核记录String sql = "select Consequence from Appraisal where Empno =?";String[] paras = { Empno };String OldInfo = "";try {sqh = new SqlHelper();ResultSet rs = sqh.queryExecute(sql, paras);rs.next();OldInfo = rs.getString(1);} catch (Exception e1) {e1.printStackTrace();} finally {sqh.close();}// 对考核表进行修改修改考核记录的sql语句String sql1 = "update Appraisal set Consequence = ? where Empno =?";String[] paras1 = { Consequence, Empno };AppraisalModel temp = new AppraisalModel();if (temp.updAppraisal(sql1, paras1)) {JOptionPane.showMessageDialog(this, "考核成功");}// 再把"上次考核记录"以及"本次操作记录" 插入到history表中String sql2 = "insert into History(Empno,Ename,OldInfo,NewInfo) values(?,?,?,?)";String[] paras2 = { Empno, Ename, OldInfo, Consequence };AppraisalModel temp1 = new AppraisalModel();temp1.updAppraisal(sql2, paras2);} else if (e.getSource() == jb2) {// 刷新员工考核表am = new AppraisalModel();String[] paras3 = { "1" };am.queryAppraisal("select E.Empno,E.Ename,A.Consequence,A.RegDate from "+ "Employinfo as E,Appraisal as A where E.Empno=A.Empno");this.jt.setModel(am);}}}(9)History/*** 历史记录界面*/package com.Manager;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class History extends Panel implements ActionListener {A ppraisalModel am;J Table jt;J ScrollPane jsp;J Label jl1;J Panel jp, jp1, jp2;J Button jb1, jb2;p ublic History() {// 北部jp = new JPanel();jl1 = new JLabel("员工考核历史记录", JLabel.CENTER);jl1.setFont(new Font("黑体", Font.BOLD, 30));jp.add(jl1);// 中部am = new AppraisalModel();String[] paras = { "1" };am.queryHistory("select * from History where 1 = ?", paras);jt = new JTable(am);jsp = new JScrollPane(jt);// 南部jp2 = new JPanel();jb1 = new JButton("清空");jb2 = new JButton("刷新");jb1.addActionListener(this);jb2.addActionListener(this);jp2.add(jb1);jp2.add(jb2);this.setLayout(new BorderLayout());this.add(jp, BorderLayout.NORTH);this.add(jsp, BorderLayout.CENTER);this.add(jp2, BorderLayout.SOUTH);}p ublic void actionPerformed(ActionEvent e) {if (e.getSource() == jb1) {// 删除历史记录并更新表am = new AppraisalModel();String[] paras = { "1" };am.updAppraisal("delete History where 1 = ?", paras);am.queryHistory("select * from History where 1 = ?", paras);this.jt.setModel(am);} else if (e.getSource() == jb2) {// 刷新表格am = new AppraisalModel();String[] paras = { "1" };am.queryHistory("select * from History where 1 = ?", paras);this.jt.setModel(am);}}}(10)E mployModel /*** 重写TableModel*/package com.Manager;import javax.swing.table.*;import java.sql.*;import java.util.*;public class EmployModel extends AbstractTableModel{V ector rowData,columnNames;//实现查询p ublic void queryEmploy(String sql,String []paras){SqlHelper sqh = null;//用columnNames 存放表的列名columnNames = new Vector();columnNames.add("工号");columnNames.add("姓名");columnNames.add("性别");columnNames.add("出生年月");columnNames.add("部门");columnNames.add("职位");columnNames.add("工资");//rowData 存放表格的各行数据rowData = new Vector();try {sqh = new SqlHelper();ResultSet rs = sqh.queryExecute(sql, paras);while(rs.next()){Vector hang = new Vector();hang.add(rs.getString(1));hang.add(rs.getString(2));hang.add(rs.getString(3));hang.add(rs.getString(4));hang.add(rs.getString(5));hang.add(rs.getString(6));hang.add(rs.getString(7));rowData.add(hang);}} catch (Exception e) {e.printStackTrace();}finally{sqh.close();}}//实现表格增修改功能p ublic boolean updEmploy(String sql,String []paras) {SqlHelper sqh = new SqlHelper();return sqh.updExecute(sql, paras);}p ublic int getRowCount() {return this.rowData.size();}p ublic String getColumnName(int column) {return (String)this.columnNames.get(column);}p ublic int getColumnCount() {return this.columnNames.size();}p ublic Object getValueAt(int row, int column) {//获得某一个单元格的数值return ((Vector)this.rowData.get(row)).get(column);}}(11)A ppraisalModel /*** 重写TableModel 为考核类的table模板*/package com.Manager;import javax.swing.table.*;import java.sql.*;import java.util.*;public class AppraisalModel extends AbstractTableModel {V ector rowData, columnNames;// 实现查询p ublic void queryAppraisal(String sql) {SqlHelper sqh = null;// 用columnNames 存放表的列名columnNames = new Vector();columnNames.add("工号");columnNames.add("姓名");columnNames.add("上次考核");columnNames.add("考核时间");// rowData 存放表格的各行数据rowData = new Vector();try {sqh = new SqlHelper();ResultSet rs = sqh.queryExecute(sql);while (rs.next()) {Vector hang = new Vector();hang.add(rs.getString(1));hang.add(rs.getString(2));hang.add(rs.getString(3));hang.add(rs.getString(4));rowData.add(hang);}} catch (Exception e) {e.printStackTrace();} finally {sqh.close();}}// 查询员工考核历史记录方法p ublic void queryHistory(String sql, String[] paras) {SqlHelper sqh = null;// 用columnNames 存放表的列名columnNames = new Vector(); columnNames.add("流水号"); columnNames.add("工号"); columnNames.add("姓名"); columnNames.add("上次考核"); columnNames.add("本次考核"); columnNames.add("更改时间");// rowData 存放表格的各行数据rowData = new Vector();try {sqh = new SqlHelper();ResultSet rs = sqh.queryExecute(sql, paras);while (rs.next()) {Vector hang = new Vector();hang.add(rs.getString(1));hang.add(rs.getString(2));hang.add(rs.getString(3));hang.add(rs.getString(4));hang.add(rs.getString(5));hang.add(rs.getString(6));rowData.add(hang);}} catch (Exception e) {e.printStackTrace();} finally {sqh.close();}}// 实现表格增修改功能p ublic boolean updAppraisal(String sql, String[] paras) {SqlHelper sqh = new SqlHelper();return sqh.updExecute(sql, paras);}p ublic int getRowCount() {return this.rowData.size();}p ublic String getColumnName(int column) {return (String) this.columnNames.get(column);}p ublic int getColumnCount() {return this.columnNames.size();}p ublic Object getValueAt(int row, int column) {// 获得某一个单元格的数值return ((Vector) this.rowData.get(row)).get(column);}}(12)S qlHelper /*** 后台通过调用SqlHelper实现对sql数据库的各个操作*/package com.Manager;import java.sql.*;public class SqlHelper {C onnection ct = null;PreparedStatement ps = null;R esultSet rs = null;S tring driver = "sun.jdbc.odbc.JdbcOdbcDriver";S tring url = "jdbc:odbc:Manager";// 查询数据库操作p ublic ResultSet queryExecute(String sql, String[] paras) { try {Class.forName(driver);ct = DriverManager.getConnection(url);ps = ct.prepareStatement(sql);for (int i = 0; i < paras.length; i++) {ps.setString(i + 1, paras[i]);}rs = ps.executeQuery();} catch (Exception e) {e.printStackTrace();}return rs;}//没注入式查询数据库操作p ublic ResultSet queryExecute(String sql) {try {Class.forName(driver);ct = DriverManager.getConnection(url);ps = ct.prepareStatement(sql);。

相关文档
最新文档