职工管理系统java课程设计简单实现_第1页
职工管理系统java课程设计简单实现_第2页
职工管理系统java课程设计简单实现_第3页
职工管理系统java课程设计简单实现_第4页
职工管理系统java课程设计简单实现_第5页
已阅读5页,还剩23页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、. 专业 .专注. . 目录 一、 绪论 . 1 1.1 关键技术介绍 . 1 1.1.1JAVA 技术 . 1 1.1.2SQL 数据库 . 1 二、需求分析 . 2 三、系统概要设计 :. 3 3.1 问题描述 . 3 3.2 要求 . 3 3.3 数据库设计 . 4 四、系统详细设计 . 5 4.1 新员工信息录入 . 5 4.2 显示员工信息 . 7 4.3 修改员工信息 . 9 4.4 查询员工信息 . 13 4.5 删除员工信息 . 16 4.6 员工信息排序 . 18 4.7 员工信息统计 . 20 4.8 注销 . 21 五、系统测试 . 23 5.1 系统登录 . 23 5.

2、2 系统主界面 . 错误!未定义书签。 专业 .专注. . 5.3 新员工信息录入 .错误!未定义书签。 5.4 显示员工信息 . 错误!未定义书签。 5.5 修改员工信息 . 错误!未定义书签。 5.6 查询员工信息 . 错误!未定义书签。 5.7 删除员工信息 . 错误!未定义书签。 5.8 排列系统 . 错误!未定义书签。 5.9 统计界面 . 错误!未定义书签。 5.10 注销 .错误!未定义书签。 六、 总结 .24 八、 附录 .错误!未定义书签。 专业 .专注. . 职工信息管理系统设计 一、绪论 1.1 关键技术介绍 Java 是一种可以撰写跨平台应用程序的面向对象的程序设计语

3、言。Java 技 术具有卓越的通用性 、高效性、平台移植性和安全性 ,广泛应用于PC、数据中 心、游戏控制台 、科学超级计算机 、移动电话和互联网 ,同时拥有全球最大的 开发者专业社群 。主要工作是通过编程语言来制作互联网页面、制作动态效果 以及网站等技术 。 1.1.1JAVA 技术 Java 是目前最为流行的程序设计语言。Java 中的高级技术 ,其中的多线 程、集合、泛型、RTTI 等。实际编程中 GUI 程序设计 、多媒体程序设计 、数据 库和网络程序设计 。 1.1.2SQL 数据库 数据库指的是以一定方式储存在一起、能为多个用户共享 、具有尽可能小 的冗余度的特点 、是与应用程序彼

4、此独立的数据集合。在经济管理的日常工作 中,常常需要把某些相关的数据放进这样的“仓库 ”,并根据管理的需要进行相 应的处理 。 专业 .专注. . 二、需求分析 职工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公 司的决策者和管理者来说都至关重要,所以职工管理系统应该能够为用户提供 充足的信息和快捷的查询手段。但一直以来各个公司基本上都是靠传统的人工 方式来管理职工信息,这种管理方式存在着许多缺点,如:效率低 、保密性 差,另外时间一长 ,将产生大量的文件和数据,这对于信息的查找、更新和维 护都带来了不少的困难 。 当今社会 ,信息迅速膨胀 ,随着各个公司的规模增大,有关信息管理

5、工作 所涉及的数据量越来越大,职工信息量也大大增加,利用传统的手工查询、登 记、修改等方法的处理速度远远跟不上公司的需求,有的公司不得不靠增加人 力、物力来进行信息管理 。 随着计算机技术的不断提高,计算机作为知识经济时代的产物,其强大的 功能已为人们深刻认识,它已进入人类社会的各个行业和领域并发挥着越来越 重要的作用 ,成为人们工作和生活中不可缺少的一部分。 而作为计算机应用的一部分,使用计算机对职工进行管理,具有手工管理 所无法比拟的优点 。 例如:检索迅速 、查找方便 、可靠性高 、存储量大 、保密 性好、寿命长 、成本低等 。 这些优点能够极大地提高职工管理的效率,也是公 司的科学化

6、、正规化管理和与世界接轨的重要条件。 职工管理系统作为一种管理软件正在各公司中得到越来越广泛的应用,且 已达到了良好效果 。 专业 .专注. . 三、系统概要设计 : 3.1 问题描述 对单位的职工进行管理 ,包括插入 、删除、查找、排序等功能 。 3.2 要求 职工对象包括员工号 (员工号不重复 ), 姓名 (字符串 ), 性别 (字 符),年龄(数字),学历(字符串),部门(字符串),工资(数字),住 址(字符串),电话(数字)等信息。 (1)新增一名职工 :将新增职工各项资料加入数据库。 (2)删除一名职工 :从数据库中删除一名职工对象。 (3)查询:按照员工号 、姓名、部门查询已存在的

7、员工信息。 (4)修改:检索某个职工对象 ,对其某些属性进行修改 。 (5)排序:按某种需要对职工对象文件进行排序。 专业 .专注. . 系统功能结构图 3.3 数据库设计 共设计包括 Manager 、 Employees 两个表 。 表项如下 : Manager 表: 员工号int 姓名Char 性别Char 年龄int 学历char 部门char 工资Int 住址Varchar 电话varchar Mnager 表: UsernameChar Passwordchar 专业 .专注. . 四、系统详细设计 4.1 新员工信息录入 此部分在添加员工信息之前检索数据库有关表项,检查是否存在重

8、复员工 号,若存在 ,提示员工号码存在并停止录入操作,若不存在 ,则进行录入 。也 可通过设置数据库主键形式,对员工号的唯一性加以确认。关键代码如下 : publicvoid actionPerformed(ActionEvent e) String sql1=select EmployeeID from Employees where EmployeeID=+jTextField.getText(); ResultSet rs=DbConnection.dbQuery (sql1); try if (rs.next()/ 对select 结果的判断 ,若存在重复 ,则运行下面提示 JOpti

9、onPane. showMessageDialog (null ,该员工号码存在 ,请重新 输入!, 警告 ,JOptionPane. PLAIN_MESSAGE); else String Sex= null ; if (jRadioButton.isSelected() Sex=jRadioButton.getText(); else Sex=jRadioButton1.getText(); String DepartmentName=(String) jComboBox.getSelectedItem(); String sql=insert into Employees(Employe

10、eID,Name,Education,Birthday,Sex,WorkYear,Address,Pho neNumber,DepartmentName,InCome,Age)values(+jTextField.getText()+, 专业 .专注. . +jTextField1.getText()+,+jTextField2.getText()+,+jTextField3.getText()+ ,+Sex+,+jTextField8.getText()+,+jTextField4.getText()+,+jTextField 5.getText()+,+DepartmentName+,+j

11、TextField6.getText()+,+jTextFiel d7.getText()+); int n=DbConnection.dbUpdate (sql); if(n=1) JOptionPane. showMessageDialog (null ,新员工录入信息成功 !, 查 询结果 ,JOptionPane. PLAIN_MESSAGE); catch (Exception se) se.printStackTrace(); privateJButton getJButton() if (jButton =null ) jButton =new JButton(); jButto

12、n.setBounds( new Rectangle(35, 531, 107, 31); jButton.setText( 确定 ); jButton.addActionListener(new java.awt.event.ActionListener() publicvoid actionPerformed(java.awt.event.ActionEvent e) 专业 .专注. . ); returnjButton; privateJButton getJButton1() if (jButton1 =null ) jButton1 =new JButton(); jButton1.

13、setBounds( new Rectangle(165, 532, 107, 31); jButton1.setText( 取消 ); jButton1.addActionListener(new java.awt.event.ActionListener() publicvoid actionPerformed(java.awt.event.ActionEvent e) dispose();/ 点击取消按钮 ,关闭窗口 ); returnjButton1; 4.2 显示员工信息 此部分使用 jTable 显示员工各项信息 。关键代码如下 : privateJTable getJTable(

14、) if (jTable =null ) String a= new String3011;/定义数组用来存放员工信息 专业 .专注. . String colname=员工号 ,姓名 ,文化程度 , 出生日期 , 性别 , 工作年份 ,地址 ,电话 , 部门 , 收入 , 年龄 ; int i=0; String sql=select * from Employees; ResultSet rs=DbConnection.dbQuery (sql); try while (rs.next()/a10 表示第一个员工的 11项信息 ai0=rs.getString(1); ai1=rs.get

15、String(2); ai2=rs.getString(3); ai3=rs.getString(4); ai4=rs.getString(5); ai5=rs.getString(6); ai6=rs.getString(7); ai7=rs.getString(8); ai8=rs.getString(9); ai9=String. valueOf (rs.getFloat(10); ai10=String. valueOf (rs.getInt(11); i+; catch (SQLException e) e.printStackTrace(); 专业 .专注. . finally D

16、bConnection. close (); jTable =new JTable(a,colname); jTable.setShowHorizontalLines(true ); jTable.setShowVerticalLines( true ); jTable.setBounds( new Rectangle(34, 61, 645, 342); jTable.setShowGrid( true ); returnjTable; publicvoid actionPerformed(ActionEvent arg0) 4.3 修改员工信息 此部分包括修改员工家庭住址、部门、学历、收入

17、、电话号码等信息 。在 修改信息之前 ,可以检索数据库检查修改人员是否存在。由于时间有限 ,没有 设计同时修改多项纪录的操作,是本设计的不足 。 由于修改功能各项代码大致 相似,下文只贴出修改地址的关键代码: publicvoid actionPerformed(ActionEvent e) String sql1=select EmployeeID from Employees where 专业 .专注. . EmployeeID=+jTextField.getText(); ResultSet rs=DbConnection.dbQuery (sql1); try if (rs.next(

18、)/ 检索输入员工是否存在的判断语句 String sql=select * from Employees where EmployeeID=+jTextField.getText(); ResultSet n=DbConnection.dbQuery (sql); String sql2=update Employees set Address=+jTextField1.getText()+ where EmployeeID=+jTextField.getText();/修改员工信息的 SQL语句 DbConnection. dbUpdate (sql2); JOptionPane. sho

19、wMessageDialog (this ,地址修改成 功 !,information,JOptionPane. INFORMATION_MESSAGE); else JOptionPane. showMessageDialog (null ,该员工不存在 ,请重 新输入! ,警告 ,JOptionPane. PLAIN_MESSAGE); catch (Exception e1) e1.printStackTrace(); if (jTextField1.getText()=null ) 专业 .专注. . JOptionPane. showMessageDialog (null ,新地址不

20、能为空 !,错误 ,JOptionPane. PLAIN_MESSAGE); privateJButton getJButton() if (jButton =null ) jButton =new JButton(); jButton.setBounds( new Rectangle(70, 199, 100, 40); jButton.setText( 确定 ); jButton.addActionListener(new java.awt.event.ActionListener() publicvoid actionPerformed(java.awt.event.ActionEven

21、t e) ); returnjButton; privateJButton getJButton1() if (jButton1 =null ) jButton1 =new JButton(); jButton1.setBounds( new Rectangle(217, 199, 100, 40); jButton1.setText( 取消 ); jButton1.addActionListener(new java.awt.event.ActionListener() 专业 .专注. . publicvoid actionPerformed(java.awt.event.ActionEve

22、nt e) dispose();/ 点击取消按钮 ,关闭窗口 ); returnjButton1; privateJButton getJButton2() if (jButton2 =null ) jButton2 =new JButton(); jButton2.setBounds( new Rectangle(364, 199, 100, 40); jButton2.setText( 清除 ); jButton2.addActionListener(new java.awt.event.ActionListener() publicvoid actionPerformed(java.aw

23、t.event.ActionEvent e) jTextField.setText(); jTextField1.setText();/ 点击清除按钮 ,将其置空 ); returnjButton2; 专业 .专注. . 4.4 查询员工信息 此部分包括通过员工号、姓名、部门,查询员工其他信息。在查询信息之 前,可以检索数据库检查修改人员是否存在。关键代码如下 : / 通过员工号查询其他信息 publicvoid actionPerformed(ActionEvent e) / TODO Auto-generated method stub String sql=select * from E

24、mployees where EmployeeID=+jTextField.getText()+; ResultSet rs=DbConnection.dbQuery (sql); try if (rs.next() jTextField1.setText(rs.getString(EmployeeID); jTextField2.setText(rs.getString(Name); jTextField3.setText(rs.getString(Sex); jTextField4.setText(rs.getString(WorkYear); jTextField5.setText(rs

25、.getString(Education); jTextField6.setText(rs.getString(DepartmentName); jTextField7.setText(rs.getString(InCome); jTextField8.setText(rs.getString(Address); jTextField9.setText(rs.getString(PhoneNumber); jTextField10.setText(rs.getString(Birthday); 专业 .专注. . else JOptionPane. showMessageDialog (nul

26、l ,本公司无该职 工!,查找结果 , JOptionPane. PLAIN_MESSAGE); catch (Exception e1) e1.printStackTrace(); / 通过部门名称 ,查询部门员工信息 publicvoid actionPerformed(ActionEvent e) / TODO Auto-generated method stub String DepartmentName=(String) jComboBox.getSelectedItem(); String sql=select * from Employees where DepartmentNa

27、me=+DepartmentName+; ResultSet rs=DbConnection.dbQuery (sql); int i=0; try while (rs.next() ai0=rs.getString(1); ai1=rs.getString(2); ai2=rs.getString(3); 专业 .专注. . ai3=rs.getString(4); ai4=rs.getString(5); ai5=String. valueOf (rs.getInt(6); ai6=rs.getString(7); ai7=rs.getString(8); ai8=rs.getString

28、(9); ai9=String. valueOf (rs.getFloat(10); ai10=rs.getString(11); i+; catch (Exception e1) e1.printStackTrace(); privateJComboBox getJComboBox() /通过下拉菜单选择部门 if (jComboBox = null ) jComboBox = new JComboBox(); jComboBox.addItem( 经理办公室 ); jComboBox.addItem( 人力资源部 ); jComboBox.addItem( 市场部 ); jComboBox

29、.addItem( 研发部 ); 专业 .专注. . jComboBox.addItem(财务部 ); jComboBox.setBounds( new Rectangle(353, 19, 157, 42); jComboBox.setFont( new Font(Dialog, Font.BOLD, 18); returnjComboBox; 4.5 删除员工信息 此部分包括删除员工全部信息,删除员工地址 、学历、电话等信息 。由于 时间有限 ,没有设计同时删除多项纪录的操作,是本系统的不足 。 在删除信息 之前,可以检索数据库检查修改人员是否存在。关键代码如下 : / 删除员工全部信息

30、publicvoid actionPerformed(ActionEvent e) String sql1=select EmployeeID from Employees where EmployeeID=+jTextField.getText(); ResultSet rs=DbConnection.dbQuery (sql1); try if (rs.next() String sql=select * from Employees where EmployeeID=+jTextField.getText(); DbConnection con=new DbConnection(); R

31、esultSet rs2= con. dbQuery (sql); JOptionPane. showMessageDialog (this ,您确定要删除该员 专业 .专注. . 工的基本信息吗 ?,警告 ,JOptionPane. QUESTION_MESSAGE); int ok=JOptionPane. showConfirmDialog(this ,基本信息将 被删除 !, 确认 ,JOptionPane. YES_NO_OPTION,JOptionPane. INFORMATION_MESSAGE); if (e.getSource()=jButton|e.getSource()=

32、jTextField) try if (ok=JOptionPane.YES_OPTION) sql=Delete from Employees where EmployeeID=+jTextField.getText(); con.dbUpdate (sql); JOptionPane. showMessageDialog(null ,删除 成功!, 提示 ,JOptionPane. PLAIN_MESSAGE); catch (Exception e1) e1.printStackTrace(); if (ok=JOptionPane. NO_OPTION ) delect m= new

33、delect(); 专业 .专注. . m.setEnabled( true ); else JOptionPane. showMessageDialog (null ,该员工不存在 ,请重新输 入!,警告 ,JOptionPane. PLAIN_MESSAGE); catch (Exception e1) / TODO Auto-generated catch block e1.printStackTrace(); 4.6 员工信息排序 此部分包括按照员工号、工资顺序对员工信息进行排列,并通过表格的形 式将信息显示出来 。由于两部分代码相似 ,下文只给出收入排序关键代码: privateJT

34、able getJTable() if (jTable =null ) String a= new String3011; String colname=EmployeeID,Name,Education,Birthday,Sex,WorkYear, Address,PhoneNumber,DepartmentName,InCome,Age;/ 表头显示 信息 专业 .专注. . int i=0; String sql=select * from Employees ORDER BY InCome DESC; ResultSet rs=DbConnection.dbQuery (sql); t

35、ry while (rs.next() ai0=rs.getString(1); ai1=rs.getString(2); ai2=rs.getString(3); / ai3=rs.getLong(rs.getDate(4); ai3=rs.getString(4); ai4=rs.getString(5); ai5=rs.getString(6); ai6=rs.getString(7); ai7=rs.getString(8); ai8=rs.getString(9); ai9=String. valueOf (rs.getFloat(10); ai10=String. valueOf (rs.getInt(11); i+; catch (SQLException e) e.printStackTrace(); finally 专业 .专注. . DbConnection. close(); jTable =new JTable(a,colname); jTable.setShowHorizontalLines(true ); jTable.setShowVerticalLines( true ); jTable.setBounds( new Rectangle(34, 61, 645, 342); jTab

温馨提示

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

评论

0/150

提交评论