职工管理系统论文

更新时间:2024-06-22 16:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

职工管理系统

摘要

对企业而言,人力资源是企业最宝贵的资源,也是企业的“生命线”。随着当今企业人员数量的不断增加、分工的不断细化、各行业间联系的不断密切,对职工管理的要求也不断提高,实现职工管理自动化无疑将带来高效率的企业管理。

最初的职工管理采用人工方式,记录量大、易出错,越来越不适应实际管理工作的需要。职工管理系统就是用电脑代替大量的人工记录,完成更多的信息处理,具有方便、准确度高且可以长期保存的特点。

职工管理系统能够为个人提供资料查询服务,为企业提供员工分工等服务。职工管理系统的自动化、规范化、系统化基本能满足现代公司管理人员的需求。

本系统可以实现查询、浏览、修改,删除等操作,采用java语言实现的。

Speaking of the enterprise, the human resources is the enterprise the most precious resource and also is enterprise's lifeline. With the rising number of the enterprise personnel, the division of labor between continuous specification and trades constantly close contact, the worker management to improve continuously, realize the worker management automation will undoubtedly bring high efficiency of the enterprise management. The original worker management using artificial way, record amount, and easy to make mistakes, to more and more the management work of actual needs. Worker management system is to use the computer instead of a large number of artificial records, and get more information processing, has the convenient, high accuracy and can long-term preservation of characteristics. Worker management system can be provided for individuals material inquiry services, to provide enterprises with employee services division. Worker management system of automation, standardized, systematic basic can meet the demand of modern company management personnel. This system can realize inquires changes, browse, and delete operation, USES the Java language implementation.

- 1 -

职工管理系统

目录

第一章 前言 ....................................................................................................................................................... 3

1.1、Java到底是一种什么样的语言呢? ...................................................................................................... 3 1.2 使用java开发职工管理系统的优越性 ........................................................................................... 5 第二章 系统分析 ............................................................................................................................................... 7

2.1系统基本情况描述 ..................................................................................................................................... 7 2.2可行性分析 ................................................................................................................................................. 7

2.2.1 技术可行性 ................................................................................................................................... 7 2.2.2 经济可行性 ................................................................................................................................... 7 2.2.3 运行可行性 ................................................................................................................................... 7 2.3系统分析 ..................................................................................................................................................... 7 第三章 系统设计 ............................................................................................................................................... 8

3.1系统配置 ..................................................................................................................................................... 8 3.2数据库设计 ................................................................................................................................................. 8

3.2.1 数据库需求分析 ........................................................................................................................... 8 3.2.2数据库概念结构设计 ...................................................................................................................... 8 3.2.3数据库逻辑结构设计 ...................................................................................................................... 8 3.3系统模块设计 ............................................................................................................................................. 9 第四章 数据库结构的实现 ............................................................................................................................. 10

4.1创建数据表格 ........................................................................................................................................... 10

4.1.1登入表 tb_login ............................................................................................................................. 10 4.1.2职工信息表 tb_worker .................................................................................................................. 10 4.1.3职工工资表 tb_salary .................................................................................................................... 10 4.1.4工资信息视图 information .............................................................................................................11 4.2、创建相应对象代码 .................................................................................................................................11 第五章 系统功能模块实现 ................................................................................................................................. 13

5.1 登录窗口 ................................................................................................................................................ 13 5.2 显示系统运行主窗口 ..................................................................................................................... 14 5.3窗口的职工基本信息窗口 ....................................................................................................................... 14 5.4职工工资管理窗口 ................................................................................................................................... 18 第六章 致谢 ..................................................................................................................................................... 21 第七章 主要参考文献 ..................................................................................................................................... 22 第八章 源代码: ............................................................................................................................................. 22

- 2 -

职工管理系统

第一章 前言

1.1、Java到底是一种什么样的语言呢?

Java是一种简单的面象对象的分布式的解释的健壮的安全的结构中立的可移植的性能很优异的多线程的动态的语言。

简单 java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在以下三个方面:1.Java的风格类似于C++,因而C++程序员是非常熟悉的。从某种意义上讲,Java语言是C及C++语言的一个变种,因此,C++程序员可以很快就掌握Java编程技术。2.Java摒弃了C++中容易引发程序错误的地方,如指针和内存管理。3.Java提供了丰富的类库。

面向对象 面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。Java支持静态和动态风格的代码继承及重用。单从面向对象的特性来看,Java类似于SmallTalk,但其它特性、尤其是适用于分布式计算环境的特性远远超越了SmallTalk。

分布式 Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。为分布环境尤其是Internet提供的动态内容无疑是一项非常宏伟的任务,但Java的语法特性却使我们很容易地实现这项目标。

健壮 Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大缩短了开发Java应用程序的周期。Java提供Null指针检测数组边界检测异常出口字节代码校验。

结构中立 另外,为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。现在,Java运行系统有Solaris2.4(SPARC),Win32系统(Windows95和WindowsNT)等.Java源程序被编译成一种高层次的与机器无关的byte-code格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。

安全 Java的安全性可从两个方面得到保证。一方面,在Java语言里,象指针和释放内存等C++功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。Java语言在你的机器上执行前,要经过很多次的测试。它经过代码校验,检查代码段的格式,检测指针操作,对象操作是否过分以及试图改变一个对象的类型。 1、Byte-code校验 如果byte-code通过代码校验,没有返回错误,我们可知道:代码没有堆栈上溢出和下溢出所有操作代码参数类型都是正确的没有发生非法数据转换,如将整数转换成指针。访问对象操作是合法的 2、类装载 ClassLoader通过将本机类与网络资源类的名称分开,来保持安全性。因为调入类时总要经过检查,这样避免了特洛伊木马现象的出现。从网络上下载的类被调进一个与源相关的私有

- 3 -

职工管理系统

的名字域。当一个私有类访问另一个类时,build-in(本机类)首先被检查,然后检查相关的类。这样就避免了破坏本机类情况的出现。

可移植的 同体系结构无关的特性使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。但仅仅如此还不够。如果基本数据类型设计依赖于具体实现,也将为程序的移植带来很大不便。例如在Windows3.1中整数(Integer)为16bits,在Windows95中整数为32bits,在DECAlpha中整数为64bits,在Intel486中为32bits。通过定义独立于平台的基本数据类型及其运算,Java数据得以在任何硬件平台上保持一致。Java语言的基本数据类型及其表示方式如下:byte8-bit二进制补码short16-bit二进制补码int32-bit二进制补码long64-bit二进制补码

float32-bitIEEE754浮点数double32-bitIEEE754浮点数char16-bitUnicode字符 在任何Java解释器中,数据类型都是依据以上标准具体实现的。因为几乎目前使用的所有CPU都能支持以上数据类型、8~64位整数格式的补码运算和单/双精度浮点运算。Java编译器本身就是用Java语言编写的。Java运算系统的编制依据POSIX方便移植的限制,用ANSIC语言写成。Java语言规范中也没有任何\同具体实现相关\的内容。

解释的 Java解释器(运行系统)能直接运行目标代码指令。链接程序通常比编译程序所需资源少,所以程序员可以在创建源程序上花上更多的时间。

高性能 如果解释器速度不慢,Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C++的性能没什么区别。

多线程 Java提?copy;的多线程功能使得在一个程序里可同时执行多个小任务。线程--有时也称小进程--是一个大进程里分出来的小的独立的进程。因为Java实现的多线程技术,所以比C和C++更键壮。多线程带来的更大的好处是更好的交互性能和实时控制性能。当然实时控制性能还取决于系统本身(UNIX,Windows,Macintosh等),在开发难易程度和性能上都比单线程要好。任何用过当前浏览器的人,都感觉为调一副图片而等待是一件很烦恼的事情。在Java里,你可用一个单线程来调一副图片,而你可以访问HTML里的其它信息而不必等它。 动态 Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,这是C++语言进行面向对象程序设计所无法实现的。在C++程序设计过程中,每当在类中增加一个实例变量或一种成员函数后,引用该类的所有子类都必须重新编译,否则将导致程序崩溃。Java从如下几方面采取措来解决这个问题。Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。这样,一个在存储器生成的对象不在编译过程中决定,而是延迟到运行时由解释器确定的。这样,对类中的变量和方法进行更新时就不至于影响现存的代码。解释执行字节码时,这种符号信息的查找和转换过程仅在一个新的名字出现时才进行一次,随后代码便可以全速执行。在运行时确定引用的好处是可以使用已被更新的类,而不必担心会影响原有的代码。如果程序连接了网络中另一系统中的某一类,该类的所有者也可以自由地对该类进行更新,而不会使任何引用该类的程序崩溃。Java还简化了使用一个升级的或全新的协议的方法。如果你的系统运行Java程序时遇到了不知怎样处理的程序,没关系,Java能自动下载你所需要的功能程序。

- 4 -

职工管理系统

1.2 使用java开发职工管理系统的优越性

用java开发的职工管理系统是一个MDI风格的数据库应用系统,在MDI主窗口中可以打开多个子窗口,并可以在打开的子窗口之间进行切换。在窗口中可以方便、快捷地进行插入、浏览、删除、修改等操作。

- 5 -

职工管理系统

- 6 -

职工管理系统

第二章 系统分析

2.1系统基本情况描述

随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现职工管理势在必行。职工管理系统的基本功能有:职工信息的管理、部门的管理、职工工资的管理及用户的管理,对各种信息可以快速实现数据查询、浏览、删除、修改等操作,能做到界面友好,使用方便。

2.2可行性分析

2.2.1 技术可行性

随着国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。这个系统从技术构成上来看,是属于一个数据库应用类的系统。其基本操作还是对存在数据库进行查询、删除、修改、保存等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。

2.2.2 经济可行性

因为现在计算机已经普及了,利用本系统既可以提高效率,又保证了各项数据的准确性,也避免了工作人员的调动造成的数据丢失等问题,适应了当前的发展形式。

2.2.3 运行可行性

本系统的研制和开发是充分考虑了工作人员对职工的管理,管理者可方便查询职工信息,从而能完全满足使用者的要求。

2.3系统分析

开发这个系统的目的就是要帮助企业的管理部门提高工作效率,实现企业职工信息管理系统的系统化、规范化和自动化。根据这个系统所要实现的目的和任务,总结出这个系统实现功能的方法如下:首先要创建一个职工信息的存储库,以用来存储职工信息,作为主题工作后台。接下来建立一个主表,也就是职工信息表,作为前台功能展开,以完成各方面操作。最后本系统要在友好的界面中,给用户提供各种方便的快捷操作。

- 7 -

职工管理系统

第三章 系统设计

3.1系统配置

硬件环境:PentiumⅡ 或同档次以上微机; 32MB以上内存或更高; 4.2G以上硬盘; 1.44M 软驱; 24速以上光驱;

软件环境:中文 WINDOWS98 / 2000操作系统。

3.2数据库设计

3.2.1 数据库需求分析

需求收集和分析是数据库设计的第一个阶段,这个阶段的一个重要而困难的任务是收集将来应用所涉及到的数据,按照以往的经验,必须把所有可能用到的数据都考虑进去,否则以后再想加入新的实体,新的数据项和实体间联系就十分困难。

职工管理系统的主要功能是:录入、查询和维护企业职工基本信息情况及职工工资的各种数据。职工管理系统的主要任务是:由计算机管理和维护职工基本信息情况并提供各种查询功能。 3.2.2数据库概念结构设计

由于本系统涉及大量的职工数据,重点在于数据的管理、查询与维护,数据库用到哪种工具设计,如何进行数据连接都需要仔细考虑。设计所需的各类数据可自行编辑。在界面上力求简单明了。企业职工管理系统是用计算机管理和维护企业职工信息并提供查询及实现信息维护功能。

3.2.3数据库逻辑结构设计

本系统主要是职工信息管理,因此数据在系统中的流动和处理是问题的主干,它的逻辑模型用数据流图表示如下:

维护修改 信息表信息表信息表 反馈信息 职工管理管理员 系统 - 8 - 职工管理系统

3.3系统模块设计

下面是系统的功能模块图: 职工管理系统

系统管理 职工基本信息职工工资管理 系统化管理功能:主要分密码管理和用户管理。用户管理可以修改用户的用户名;密码管理可以修改对应的用户的密码数据。

职工基本信息:主要实现职工基本信息的管理,如职工编号、姓名、性别、年龄、工作时间、职称、所院系等。

职工工资管理:主要实现职工实发工资的管理,如社保、房租、总工资等。

- 9 -

职工管理系统

第四章 数据库结构的实现

4.1创建数据表格

4.1.1登入表 tb_login

字段名 Login_id Login_name Login_password 类型 Number Char(20) Char(20) PK/FK/UN PK 是否为空/默认 NOT NULL NOT NULL 备注

4.1.2职工信息表 tb_worker

字段名 Worker_id Worker_name Worker_age Worker_sex Worker_num Worker_class Worker_place Worker_ 类型 Number Char(10) Char(5) Char(5) Char(7) Char(16) Char(12) PK/FK/UN PK 是否为空/默认 NOT NULL NOT NULL NOT NULL 备注

4.1.3职工工资表 tb_salary

字段名 Salary_id 类型 Number PK/FK/UN PK - 10 -

是否为空/默认 备注

职工管理系统

Worker_id Salary_much Worker_protect Worker_rent Number Char(6) Char(6) Cha(6) Fk NOT NULL 4.1.4工资信息视图 information

字段名 Worker_name Worker_code Worker_place Salary_much Worker_protect Worker_rent 类型 PK/FK/UN 是否为空/默认 备注 4.2、创建相应对象代码

创建用户并授权

create user worker identified by \grant dba to worker ;

登入窗口

create table tb_login(

login_id number,login_name char(20) not null,login_password char(20) not null);

alter table tb_login add constraint pk_tb_login primary key (login_id);

create sequence sq_login_id_pk;

insert into tb_login(login_id,login_name,login_password) values ( sq_login_id_pk.nextval,'admin','admin'); 职工信息

create table tb_worker( worker_id number,worker_name char(10) ,worker_age

char(5),worker_sex char(5),worker_num char(7),worker_class char(16), worker_place char(12), worker_code char(20),worker_phone char (11)) create sequence sq_worker_id_pk; 职工工资

create table tb_salary(salary_id number,worker_id number,salary_much char(6), worker_protect char(6),worker_rent char(6));

alter table tb_salary add constraint pk_tb_salary_id primary key (salary_id);

alter table tb_salary add constraint fk_tb_salary_worker_id foreign key (worker_id) references tb_worker (worker_id);

create sequence sq_salary_id_pk;

- 11 -

职工管理系统

创建工资信息视图

create or replace view information

as(select a.worker_name,a.worker_code,a.worker_place,b.salary_much, b.worker_protect,b.worker_rent from tb_worker a,tb_salary b where b.worker_id=a.worker_id);

- 12 -

职工管理系统

第五章 系统功能模块实现

5.1 登录窗口

用户运行职工管理系统时,首先出现一个登录窗口,提示用户输入用户名和密码,登录按钮的clicked事件如下:

but.addActionListener(new ActionListener(){//为登入按钮监听 public void actionPerformed(ActionEvent arg0) { if(text1.getText().equals(\text2.getText().equals(\

JOptionPane.showMessageDialog(null, \用户名或密码不能为

空!\ stmt);

return ; }

Statement stmt= new JDBC().link(); String set1=text1.getText(); String set2=text2.getText();

String str=new HandleLogin().selectDate(set1, set2,

if(str.equals(\

JOptionPane.showMessageDialog(null, \用户名或密码错误!

\

return; }else{

new MyFrameWindow();

MyFrameLogin.this.setVisible(false); }}

- 13 -

职工管理系统

}

});

5.2 显示系统运行主窗口

进入系统主窗口后,打开部门管理、工资管理、职工信息管理窗口,可显示如下界面:

5.3窗口的职工基本信息窗口

- 14 -

职工管理系统

相应的数据库操作语句如下: package mySencondPackage;

import java.awt.TextArea; import java.beans.Statement; import java.sql.ResultSet; import java.util.Vector;

import javax.swing.JOptionPane;

public class HandleDate { String ret = 0 + \ ResultSet sc=null; //Vector as=new Vector(); public String insertDate(String[] stem, java.sql.Statement stmt) { try{ String sql = \ + \ + \ + \ for (int i = 0; i < stem.length; i++) { sql = sql + \ } sql = sql + \ ret = 0 + \

- 15 -

职工管理系统

if (stmt.executeUpdate(sql) > 0) { ret = \ } else { ret = 0 + \ } }catch(Exception e){ e.printStackTrace(); } return ret; } public String updateWorkerInfromation(String ll,String[] stem, java.sql.Statement stmt,MyJPanelInformation myFrameInformation){ try{ String sql=\ String [] sub={\ \ for(int i=0;i0){ ret=\ }else{ ret=\ } }catch(Exception e){ e.printStackTrace(); } return ret; } public ResultSet selectInfromation(String[] stem, java.sql.Statement stmt,MyJPanelInformation myFrameInformation){ try{ String sql=\ System.out.println(stem[2]); if(stem[2].equals(\ \

- 16 -

职工管理系统

sql=\ }else{ //myFrameInformation.getJTable().removeAll(); String [] sub={\ \ for(int i=0;i

- 17 -

职工管理系统

}

if(stmt.executeUpdate(sql)!=0){ ret=\ }else{ ret=\ } }catch(Exception e){ e.printStackTrace(); } return ret; }

public ResultSet getResultSet(){ return this.sc; }

5.4职工工资管理窗口

相应操作代码如下: package mySencondPackage;

import java.sql.ResultSet; import java.sql.Statement;

- 18 -

职工管理系统

import javax.swing.JOptionPane;

public class HandleSalary { String ret=null; String str; ResultSet sc; public ResultSet selectWorkerSalary(String [] stem,Statement stmt){ try{ int n=0; String []

sub={\\ String sql=\ \ for(int i=1;i0){ ret=\ }else{

- 19 -

职工管理系统

ret=\ } }catch(Exception e){ e.printStackTrace(); } return ret; }

public String selectWorker(String [] stem,Statement stmt){ try{ String sql=\ \ +stem[3]+\ ResultSet sc=stmt.executeQuery(sql); if(sc.next()){ ret=sc.getString(\ }else{ ret=\ } }catch(Exception e){ e.printStackTrace(); } return ret; }

public String insertDate(String [] stem,String str,Statement stmt){ try{ String sql=\ +\ +stem[5]+\ if(stmt.executeUpdate(sql)>0){ ret=\ }else{ ret=\ } }catch(Exception e){ e.printStackTrace(); } return ret;}

public ResultSet selectAllWorker(Statement stmt){ try{ String sql=\ sc=stmt.executeQuery(sql); }catch(Exception e){

e.printStackTrace();}return sc;}}

- 20 -

职工管理系统

第六章 致谢

时将近两个月的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。尤其要强烈感谢我的论文指导老师—吴斌老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此向帮助和指导过我的各位老师表示最中心的感谢!

感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。

感谢我的同学和朋友,在我写论文的过程中给予我了很多你问素材,还在论文的撰写和排版灯过程中提供热情的帮助。

由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和学友批评和指正!

- 21 -

职工管理系统

第七章 主要参考文献

[1].张桂珠 刘丽 陈爱国 Java面向对象程序设计(第2版)北京邮电大学出版社 [2]毕广吉.Java程序设计实例教程[M]. 北京:冶金工业出版社,2007年 [3].王保罗.Java面向对象程序设计[M]. 北京:清华大学出版社,2003年

[4].高林,周海燕.Jsp网上书店系统与案例分析[M]. 北京:人民邮电出版社,2004年 [5].刘腾红,孙细明.信息系统分析与设计[M]. 北京:科学出版社,2003年 [6].Bruce Eckel,《Thinking in Java 4》,American:Prentice Hall PTR [7].O’reilly,《Java Servlet Programming》,American:Sernni Yey

[8].O'Reilly & Associates, Inc 《Java Cookbook》in the United States or Canada [9].Siyan K S,Weaver J.精通JSP网页编程.北京:宇航出版社,1988年 [10].林邦杰,彻底研究java.北京:电子工业出版社,2002年

第八章 源代码:

package mySencondPackage;

import java.awt.TextArea; import java.beans.Statement; import java.sql.ResultSet; import java.util.Vector;

import javax.swing.JOptionPane;

- 22 -

职工管理系统

public class HandleDate { String ret = 0 + \ ResultSet sc=null; //Vector as=new Vector(); public String insertDate(String[] stem, java.sql.Statement stmt) { try{ String sql = \ + \ + \ + \ for (int i = 0; i < stem.length; i++) { sql = sql + \ } sql = sql + \ ret = 0 + \ if (stmt.executeUpdate(sql) > 0) { ret = \ } else { ret = 0 + \ } }catch(Exception e){ e.printStackTrace(); } return ret; } public String updateWorkerInfromation(String ll,String[] stem, java.sql.Statement stmt,MyJPanelInformation myFrameInformation){ try{ String sql=\ String [] sub={\ \ for(int i=0;i0){ ret=\ }else{ ret=\} }catch(Exception e){ e.printStackTrace(); } return ret; } public ResultSet selectInfromation(String[] stem, java.sql.Statement stmt,MyJPanelInformation myFrameInformation){ try{ String sql=\ System.out.println(stem[2]); if(stem[2].equals(\ \ sql=\ }else{ String [] sub={\\\ for(int i=0;i

- 23 -

职工管理系统

sql=sql.substring(0, sql.length()-4); }ret=0+\ sc=null; sc=stmt.executeQuery(sql); }catch(Exception e){ e.printStackTrace(); } return sc; } public void selectEqualInfromation(String worker,String stem, java.sql.Statement stmt,MyJPanelInformation myFrameInformation){ try{ String sql=\\ sc=null; sc=stmt.executeQuery(sql); }catch(Exception e){ e.printStackTrace(); } } public String deleteWorkerInformation(String[] stem, java.sql.Statement stmt,MyJPanelInformation myFrameInformation){ try{ String sql=\ stem[0].replaceAll(\ \ ret=0+\ if(stmt.executeUpdate(sql)!=0){ ret=\ }else{ ret=\ } }catch(Exception e){ e.printStackTrace(); } return ret; } public ResultSet getResultSet(){ return this.sc; }}

package mySencondPackage; import java.sql.ResultSet; import java.sql.Statement; public class HandleLogin { String ret; public String selectDate(String name,String passWord,Statement stmt){ try{ String sql=\login_password='\ System.out.println(sql); ResultSet sc=stmt.executeQuery(sql); if(sc.next()){ ret=\

- 24 -

职工管理系统

}else{ ret=\ } }catch(Exception e){ e.printStackTrace(); } return ret; }}

package mySencondPackage; import java.sql.ResultSet; import java.sql.Statement;

import javax.swing.JOptionPane; public class HandleSalary { String ret=null; String str; ResultSet sc; public ResultSet selectWorkerSalary(String [] stem,Statement stmt){ try{ int n=0; String []

sub={\,\ String sql=\ \ for(int i=1;i0){ ret=\ }else{ ret=\ }}catch(Exception e){ e.printStackTrace(); } return ret; }

- 25 -

职工管理系统

public String selectWorker(String [] stem,Statement stmt){ try{ String sql=\ \ +stem[3]+\ ResultSet sc=stmt.executeQuery(sql); if(sc.next()){ ret=sc.getString(\ }else{ ret=\ } }catch(Exception e){ e.printStackTrace(); } return ret; } public String insertDate(String [] stem,String str,Statement stmt){ try{ String sql=\

(salary_id,worker_id,salary_much,worker_protect,worker_rent)\ +\ +stem[5]+\ if(stmt.executeUpdate(sql)>0){ ret=\ ret=\ } }catch(Exception e){ e.printStackTrace(); } return ret; } public ResultSet selectAllWorker(Statement stmt){ try{ String sql=\ sc=stmt.executeQuery(sql); }catch(Exception e){ e.printStackTrace(); } return sc; }}

package mySencondPackage; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class JDBC { public Statement link(){ try{ Class.forName(\ String url = \ String user = \ String pass = \ Connection conn = DriverManager.getConnection(url, user, pass); // 创建一个 Statement对象 Statement stmt = conn.createStatement(); return stmt;

- 26 -

}else{

职工管理系统

}catch(Exception e){ e.printStackTrace(); return null; } }}

package mySencondPackage;

import java.awt.HeadlessException; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.sql.Connection; import java.sql.ResultSet;

import java.sql.SQLException; import java.sql.Statement;

import javax.swing.JOptionPane; import javax.swing.JTable; public class ManageSalary { String str; Statement stmt; MyJPanelWorker myJPanelWorker; MyFrameWindow myFrameWindow; String [] stem; ResultSet sc; JTable table; public ManageSalary(String str,Statement stmt,MyJPanelWorker myFrameWorker,MyFrameWindow myFrameWindow){ this.str=str; this.stmt=stmt; this.myJPanelWorker=myFrameWorker; this.myFrameWindow=myFrameWindow; stem=str.split(\ } public void manage(){ if(stem[0].equals(\ addSalary(); }else if(stem[0].equals(\}else if(stem[0].equals(\ selectSalary(); }else if(stem[0].equals(\ selectWorker(); } } public void addSalary(){ HandleSalary handleSalary=new HandleSalary(); String str1=handleSalary.selectWorker(stem,stmt); if(str1.equals(\ JOptionPane.showMessageDialog(null, \对不起,没有该员工!\return; ResultSet st=handleSalary.selectWorkerSalary(stem,stmt); try {if(st.next()){

- 27 -

} 职工管理系统

JOptionPane.showMessageDialog(null, \该职工以计发工资\ return ; } } catch (Exception e) { e.printStackTrace(); } String str2=handleSalary.insertDate(stem,str1,stmt); if(str2.equals(\ JOptionPane.showMessageDialog(null, \添加成功\ myJPanelWorker.setText(); }else{ return; } } public void updateSalary(){ try{ HandleSalary handleSalary=new HandleSalary(); String str1=handleSalary.updateSalary(stem,stmt); if(str1.equals(\ JOptionPane.showMessageDialog(null,\修改成功!\ } }catch(Exception e){ e.printStackTrace(); } } public void selectWorker(){ try{ HandleSalary handleSalary=new HandleSalary(); sc=handleSalary.selectAllWorker(stmt); this.table=new OnShow().onShowWorker(sc); myJPanelWorker.setJTable(table); myFrameWindow.setVisible(true); }catch(Exception e){ e.printStackTrace(); } public void selectSalary(){ try{ HandleSalary handleSalary=new HandleSalary(); sc=handleSalary.selectWorkerSalary(stem, stmt); table=new OnShow().onShowSalary(sc); myJPanelWorker.setJTable(table); myFrameWindow.setVisible(true); }catch(Exception e){ } } public JTable getJtable(){ return this.table; }}

package mySencondPackage; import mySencondPackage.*;

import java.awt.HeadlessException; import java.awt.TextArea;

import java.io.DataInputStream; import java.io.DataOutputStream; import java.net.Socket; import java.sql.Connection; import java.sql.DriverManager;

- 28 -

}职工管理系统

import java.sql.ResultSet;

import java.sql.SQLException; import java.sql.Statement; import java.util.Vector;

import javax.swing.JOptionPane; import javax.swing.JTable;

import com.sun.xml.internal.bind.v2.runtime.unmarshaller.Receiver; public class ManageWorker { MyJPanelInformation myJPanelInformation; String str = null; ResultSet sc = null; //Vector as = new Vector(); HandleDate handleDate; MyFrameWindow myFrameWindow; WorkerInformation workerInformation; Statement stmt; String[] stem; JTable table; public ManageWorker() { }; public ManageWorker(WorkerInformation workerInformation, String str, MyJPanelInformation myFrameInformation, MyFrameWindow myFrameWindow) { this.str = str; this.myFrameWindow = myFrameWindow; this.myJPanelInformation = myFrameInformation; handleDate = new HandleDate(); this.workerInformation = workerInformation; stmt=new JDBC().link(); stem = str.split(\} public void delete() { String set = handleDate.deleteWorkerInformation(stem, stmt, myJPanelInformation); if (set.equals(\ JOptionPane.showMessageDialog(null, \删除成功!\ myJPanelInformation.setText(); } else { return; } } public void check() { try{ sc = handleDate.selectInfromation(stem, stmt, myJPanelInformation); if (sc.getFetchSize()==0) { JOptionPane.showMessageDialog(null, \没有相应的记录\ } else { this.table=new OnShow().onShowWorker(sc); myJPanelInformation.setJTable(table); myFrameWindow.setVisible(true); }}catch(Exception e){ e.printStackTrace(); } }

- 29 -

职工管理系统

public String selectEqual(){ try { for (int i = 0; i < stem.length; i++) { if (stem[i].replaceAll(\ JOptionPane.showMessageDialog(null, \请补充完没有填写的信息或在表格中更改\ return \ } } handleDate.selectEqualInfromation(\ this.sc = handleDate.sc; if (sc.next()) { if ((sc.getString(\ .equals(stem[3].replaceAll(\ !(stem[3].replaceAll(\ JOptionPane.showMessageDialog(null, \职工号不能相同\ return \ } } handleDate.selectEqualInfromation(\ null); this.sc = handleDate.sc; if (sc.next()) { if ((sc.getString(\ .equals(stem[6].replaceAll(\ !(stem[6].replaceAll(\ JOptionPane.showMessageDialog(null, \该用职工已存在\ return \ } } } catch (Exception e) { e.printStackTrace(); } return \} public void addWorker() { try {for (int i = 1; i < stem.length; i++) { if (stem[i].replaceAll(\ JOptionPane.showMessageDialog(null, \请补充完没有填写的信息\ return; } } handleDate.selectEqualInfromation(\ this.sc = handleDate.sc; if (sc.next()) { if ((sc.getString(\ .equals(stem[3].replaceAll(\ JOptionPane.showMessageDialog(null, \职工号不能相同\ return; } } handleDate.selectEqualInfromation(\ null); this.sc = handleDate.sc; if (sc.next()) { if ((sc.getString(\ .equals(stem[6].replaceAll(\ JOptionPane.showMessageDialog(null, \该用职工已存在\ return; } } String str=handleDate.insertDate(stem, stmt); if(str.equals(\

- 30 -

职工管理系统

JOptionPane.showMessageDialog(null, \添加职工成功!\ myJPanelInformation.setText(); } } catch (Exception e) { e.printStackTrace(); } } public void updateWorker(){ try{ String str=handleDate.updateWorkerInfromation(workerInformation.ll,stem, stmt, myJPanelInformation); if(str.equals(\ JOptionPane.showMessageDialog(null, \修改成功!\ myJPanelInformation.setText(); } }catch(Exception e){ e.printStackTrace(); } } public JTable getJtable(){ return this.table; }}

package mySencondPackage;

import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color;

import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Label;

import java.awt.LayoutManager; import java.awt.Panel; import java.awt.TextField;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.sql.Statement;

import javax.swing.JOptionPane;

public class MyFrameLogin extends Frame{//登入窗口类 Label lab1,lab2,lab3; Button but;

- 31 -

职工管理系统

TextField text1,text2;

Panel pane1,pane2,pane3,pane4;

public static void main(String [] args){ MyFrameLogin login=new MyFrameLogin(); }

public MyFrameLogin(){ this.setLayout(new FlowLayout()); this.setTitle(\登入窗口\ lab1=new Label(\用户名:\ lab2=new Label(\ 密码:\ lab3=new Label(\默认用户名密码都是admin\ lab3.setBackground(Color.GRAY); but=new Button(\ 登入 \ text1=new TextField(12); text2=new TextField(12); pane1=new Panel(); pane2=new Panel(); pane3=new Panel(); pane4=new Panel(); pane1.add(lab1); pane1.add(text1); pane2.add(lab2); pane2.add(text2); pane3.add(but); pane4.add(lab3); this.add(pane1); this.add(pane2); this.add(pane3,BorderLayout.CENTER); this.add(pane4); this.setBounds(500, 250, 230, 200); this.setVisible(true); this.setResizable(false); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } });

but.addActionListener(new ActionListener() {//为登入按钮做监听

public void actionPerformed(ActionEvent arg0) {

if(text1.getText().equals(\ JOptionPane.showMessageDialog(null, \用户名或密码不能为空!\ return ; } Statement stmt= new JDBC().link();

- 32 -

职工管理系统

String set1=text1.getText(); String set2=text2.getText(); String str=new HandleLogin().selectDate(set1, set2, stmt); if(str.equals(\ JOptionPane.showMessageDialog(null, \用户名或密码错误!\ return; }else{ new MyFrameWindow(); MyFrameLogin.this.setVisible(false); } } }); }}

package mySencondPackage; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.Panel;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;

import javax.swing.ImageIcon; import javax.swing.JOptionPane;

public class MyFrameWindow extends Frame implements ActionListener{ MenuBar menuBar; Menu menu1,menu2,menu3; MenuItem menu1Item,menu2Item,menuItem1,menuItem2;

// MyJPanelInformation myJPanelInformation; //Panel pane1; public MyFrameWindow(){ this.setLayout(new FlowLayout()); menuBar=new MenuBar(); menu1=new Menu(\职工基本信息\

- 33 -

职工管理系统

menu2=new Menu(\职工工资管理\ menu3=new Menu(\系统管理\ menuBar.add(menu1); menuBar.add(menu2); menuBar.add(menu3); menu1Item=new MenuItem(\信息管理\ menu2Item=new MenuItem(\工资管理\ menuItem1=new MenuItem(\密码管理\ menuItem2=new MenuItem(\用户管理\ menu1.add(menu1Item); menu2.add(menu2Item); menu3.add(menuItem1); menu3.add(menuItem2); this.setMenuBar(menuBar); this.setBounds(500, 250, 470, 370); this.setVisible(true); menu1Item.addActionListener(this); menu2Item.addActionListener(this); menuItem1.addActionListener(this); menuItem2.addActionListener(this); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent arg0) { System.exit(0); } }); } public void actionPerformed(ActionEvent arg0) { if(arg0.getSource()==menu1Item){ new WorkerInformation(this); }else if(arg0.getSource()==menu2Item){ new WorkerSalary(this); }else if(arg0.getSource()==menuItem1){ JOptionPane.showMessageDialog(null, \还没用做呢!\ }else if(arg0.getSource()==menuItem2){ JOptionPane.showMessageDialog(null, \还没用做呢!\ } }}

package mySencondPackage;

import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color;

import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Frame;

- 34 -

职工管理系统

import java.awt.Graphics; import java.awt.GridLayout; import java.awt.Image; import java.awt.Label; import java.awt.List; import java.awt.Panel; import java.awt.TextArea; import java.awt.TextField;

import javax.swing.BoxLayout; import javax.swing.ImageIcon; import javax.swing.JComboBox; import javax.swing.JPanel;

import javax.swing.JScrollPane; import javax.swing.JTable;

public class MyJPanelInformation extends JPanel { Button but1, but2, but3, but4; Label lab1, lab2, lab3, lab4, lab5, lab6, lab7, lab8, lab9; TextField text1, text2, text4, text5, text6, text7, text8; JTable table; JComboBox list; JPanel pane1, pane2, pane3, pane4, pane5; public MyJPanelInformation() { this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); but1 = new Button(\增加职工\ but2 = new Button(\查询职工\ but3 = new Button(\修改职工\ but4 = new Button(\删除职工\ list = new JComboBox(); list.addItem(\男\ list.addItem(\女\ list.addItem(\ lab1 = new Label(\姓 名:\ lab2 = new Label(\年 龄:\ lab3 = new Label(\性 别:\ lab4 = new Label(\职工号:\ lab5 = new Label(\授 课:\ lab6 = new Label(\所在系:\ lab7 = new Label(\身份证:\ lab9 = new Label(\ \ lab8 = new Label(\联系方式:\ text1 = new TextField(6);

- 35 -

职工管理系统

text2 = new TextField(6); text4 = new TextField(6); text5 = new TextField(6); text6 = new TextField(3); text7 = new TextField(12); text8 = new TextField(8); table = new JTable(); pane1 = new JPanel(); pane2 = new JPanel(); pane3 = new JPanel(); pane4 = new JPanel(); pane5 = new JPanel(); pane5.add(table); pane1.add(but1); pane1.add(but2); pane1.add(but3); pane1.add(but4); pane2.add(lab1); pane2.add(text1); pane2.add(lab2); pane2.add(text2); pane2.add(lab3); pane2.add(list); pane3.add(lab4); pane3.add(text4); pane3.add(lab5); pane3.add(text5); pane3.add(lab6); pane3.add(text6); pane4.add(lab7); pane4.add(text7); pane4.add(lab9); pane4.add(lab8); pane4.add(text8); this.add(pane1); this.add(pane2); this.add(pane3); this.add(pane4); this.add(pane5); this.setVisible(true); }

public JTable getJTable() { return table; }

public void setJTable(JTable table) { this.table = table; JScrollPane jsp = new JScrollPane(this.table);

- 36 -

职工管理系统

pane5.removeAll(); pane5.add(jsp, BorderLayout.CENTER); this.repaint(); } public void setText() { text1.setText(null); text2.setText(null); text4.setText(null); text5.setText(null); text6.setText(null); text7.setText(null); text8.setText(null); } }

package mySencondPackage; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color;

import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Label; import java.awt.Panel; import java.awt.TextArea; import java.awt.TextField;

import javax.swing.BoxLayout; import javax.swing.JPanel;

import javax.swing.JScrollPane; import javax.swing.JTable;

public class MyJPanelWorker extends JPanel{ Button but1,but2,but3,but4; Label lab1,lab2,lab3,lab4,lab5,lab6,lab7; TextField text1,text2,text3,text4,text5,text6; JTable table; Panel pane1,pane2,pane3,pane4,pane5; public MyJPanelWorker(){

- 37 -

职工管理系统

this.setLayout(new BoxLayout(this,BoxLayout.Y_AXIS)); but1=new Button(\计发工资\but2=new Button(\修改工资\but3=new Button(\查询工资\but4=new Button(\查询人员\lab1=new Label(\姓 名:\lab2=new Label(\身份证:\lab3=new Label(\院 系:\lab4=new Label(\总工资:\lab5=new Label(\社 保:\lab6=new Label(\房 租:\lab7=new Label(\显示信息:\text1=new TextField(6); text2=new TextField(6); text3=new TextField(6); text4=new TextField(6); text5=new TextField(6); text6=new TextField(6); table=new JTable(); pane1=new Panel(); pane2=new Panel(); pane3=new Panel(); pane4=new Panel(); pane5=new Panel(); pane1.add(but1); pane1.add(but2); pane1.add(but3); pane1.add(but4); pane2.add(lab1); pane2.add(text1); pane2.add(lab2); pane2.add(text2); pane2.add(lab3); pane2.add(text3); pane3.add(lab4); pane3.add(text4); pane3.add(lab5); pane3.add(text5); pane3.add(lab6); pane3.add(text6);

pane5.add(table,BorderLayout.CENTER); this.add(pane1); this.add(pane2); this.add(pane3); this.add(pane4); this.add(pane5);

- 38 -

职工管理系统

this.setBounds(400, 350, 450, 330); this.setVisible(true); } public JTable getJTable() { return table;} public void setJTable(JTable table) { this.table = table; JScrollPane jsp=new JScrollPane(this.table); pane5.removeAll(); pane5.add(jsp,BorderLayout.CENTER); } public void setText(){ text1.setText(null); text2.setText(null); text3.setText(null); text4.setText(null); text5.setText(null); text6.setText(null); }}

package mySencondPackage;

import java.sql.ResultSet; import java.util.Vector; import javax.swing.JTable; public class OnShow { Vector as = new Vector(); Vector ac = new Vector(); JTable a, b; public JTable onShowWorker(ResultSet sc) { try { while (sc.next()) { Worker worker = new Worker(); worker.setWorker_id(sc.getString(\ worker.setWorker_age(sc.getString(\ worker.setWorker_class(sc.getString(\ worker.setWorker_code(sc.getString(\ worker.setWorker_name(sc.getString(\ worker.setWorker_num(sc.getString(\ worker.setWorker_phone(sc.getString(\ worker.setWorker_place(sc.getString(\

- 39 -

职工管理系统

}

worker.setWorker_sex(sc.getString(\as.add(worker);

String[] ss = { \姓名\年龄\性别\职工号 \授课 \所在系\身份证 \ \联系方式\ String[][] jj = new String[as.size()][ss.length]; for (int i = 0; i < as.size(); i++) { int n = 0; jj[i][n++] = as.get(i).getWorker_name(); jj[i][n++] = as.get(i).getWorker_age(); jj[i][n++] = as.get(i).getWorker_sex(); jj[i][n++] = as.get(i).getWorker_num(); jj[i][n++] = as.get(i).getWorker_class(); jj[i][n++] = as.get(i).getWorker_place(); jj[i][n++] = as.get(i).getWorker_code(); jj[i][n++] = as.get(i).getWorker_phone(); } a = new JTable(jj, ss); a.setAutoResizeMode(1); a.show(); a.setColumnSelectionAllowed(false); a.doLayout(); } catch (Exception e) { e.printStackTrace();} return a;}

public JTable onShowSalary(ResultSet sc) { try { while (sc.next()) { Salary salary = new Salary(); salary.setWorker_name(sc.getString(\ salary.setWorker_code(sc.getString(\ salary.setSalary_much(sc.getString(\ salary.setWorker_protect(sc.getString(\ salary.setWorker_rent(sc.getString(\ ac.add(salary); } String[] ss = { \姓名\身份证\总工资\社保 \房租 \ String[][] jj = new String[ac.size()][ss.length]; for (int i = 0; i < ac.size(); i++) { int n = 0; jj[i][n++] = ac.get(i).getWorker_name(); jj[i][n++] = ac.get(i).getWorker_code(); jj[i][n++] = ac.get(i).getSalary_much(); jj[i][n++] = ac.get(i).getWorker_protect();

- 40 -

本文来源:https://www.bwwdw.com/article/t6d3.html

Top