java人事管理系统.doc_第1页
java人事管理系统.doc_第2页
java人事管理系统.doc_第3页
java人事管理系统.doc_第4页
java人事管理系统.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1 系统设计目标 1.1 需求分析本系统应具有以下功能:(1)系统管理员:可以添加用户信息、修改密码和设置用户权限,以及对职工信息进行添加、修改、查询、删除等操作。(2)一般用户:可以查询职工信息。 1.2 系统功能设计(1)系统功能结构图,如图1-1所示:人事管理系统用户登录信息入库身份验证管理员权限一般用户权限添加职工信息修改密码和权限添加用户修改职工信息查询职工信息退出系统查询职工信息退出系统删除职工信息图1-1 系统功能结构图 1.3 系统开发工具本系统采用Access 2003创建后台数据库,前台开发工具采用Eclipse,开发语言为java。2 系统数据库设计与实现 2.1 数据表的实体E-R图 通过对的系统总体分析,可以得到大概的实体-关系模型(E-R模型),如下:(1)员工信息表的E-R图,如图2-1所示:员工信息职工号姓名工资参加工作时间部门电话地址职务图2-1 员工信息表的E-R图(2)系统用户表的E-R图,如图2-2所示:系统用户职工号密码用户类图2-2 系统用户表的E-R图 2.2 数据表的结构(1)员工信息表的结构如图2-3所示:图2-3 员工信息表结构(2)系统用户表的结构,如图2-4所示:图2-4 系统用户表结构3 窗体设计 3.1 登录页面设计启动程序“Eclipse”后,选择“文件”、“新建”、“Java项目”,打开“新建Java项目”对话框,输入项目名称为“personInfo”,在项目下添加包和所需的类。(1)登录界面如图3-1所示: 图3-1 系统登录界面(2)用户身份验证,如图3-2所示:图3-2 用户身份验证界面 3.2 管理员权限(1)管理员权限主菜单,如图3-3所示:图3-3 管理员主菜单界面(2)用户修改密码和设置权限,如图3-4所示:图3-4 用户修改密码和设置权限界面(3)添加新职工如图3-5所示:图3-5 添加新职工界面(4)查询职工信息如图3-6所示:图3-6 查询职工信息界面(5)删除职工信息如图3-7所示:图3-7 删除职工信息界面(6)退出系统消息提示,如图3-8所示:图3-8 退出系统消息提示对话框 3.3 一般用户权限(1)一般用户权限主菜单,如图3-9所示:图3-9 一般用户主菜单界面(2)查询职工信息如图3-10所示: 图3-10 查询职工信息界面4 设计体会及今后的改进意见 4.1 设计体会经过一个周的努力,已基本上完成了“人事管理系统”的课程设计。其功能基本符合用户需求,能够实现用户身份验证、主界面管理、用户管理以及添加、修改、查询、删除职工信息等功能。由于时间较短和自身因素,该系统必然会存在缺陷和不足。期间,通过查阅相关资料,以及向老师和同学请教,纠正了一些开始设计时的错误和误区,弥补了自己在编程思想的疏漏。 4.2 今后的改进意见通过本次课程设计,使我明白了画功能结构图的重要性,它对设计思想以及编写程序代码有指导性的意义。在开始时,由于没能意识到这一点,走了不少弯路,浪费了时间。它启发了我的思维,培养了动手实践的能力。同时,也让我学会了一些编程技巧和方法,使我的学习能力和编程能力都得到了提高,它将为我以后的学习和发展打下坚实的基础。参 考 文 献1 郑莉编著.Java语言程序设计M.北京:清华大学出版社,20112 於东军,杨静宇等编著.Java程序设计与应用开发M.北京:清华大学出版社,2005附录:源程序代码(1)LoginFrame.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class LoginFrame extends JFrame Container contentPane; JPanel paneTop = new JPanel(); JPanel paneMid = new JPanel(); JPanel paneBut = new JPanel(); JLabel Top = new JLabel(); JLabel Names= new JLabel(); JLabel Pwd = new JLabel(); JLabel Model = new JLabel(); JLabel Null = new JLabel(); JTextField Namefield = new JTextField(15); JPasswordField Pwdfield = new JPasswordField(15); JComboBox cmb = new JComboBox(); JButton button2= new JButton(取消); JButton button1 = new JButton(登录); int ss; LoginFrame() Names.setText(职工号:); Pwd.setText(密 码:); Model.setText(用户类:); Null.setText( ); String s1 = 管理员,一般用户; cmb.addItem(s10); cmb.addItem(s11); paneTop.add(Names); paneTop.add(Namefield); paneMid.add(Pwd); paneMid.add(Pwdfield); paneMid.add(Model); paneMid.add(cmb); paneBut.add(button1); paneBut.add(button2); contentPane = this.getContentPane(); contentPane.add(paneTop,BorderLayout.NORTH); contentPane.add(paneMid,BorderLayout.CENTER); contentPane.add(paneBut,BorderLayout.SOUTH); setTitle(欢迎登录); setSize(260,170);/将窗口放置在中央 Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); setLocation(screen.width - getSize().width)/2,(screen.height - getSize().height)/2 ); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); button1.addActionListener(new ButtonHandle(); cmb.addActionListener(new GetSelected(); button2.addActionListener(new Exit(); public class Exit implements ActionListener public void actionPerformed(ActionEvent e) dispose(); public class GetSelected implements ActionListener public void actionPerformed(ActionEvent e) ss=cmb.getSelectedIndex(); public class ButtonHandle implements ActionListener public void actionPerformed(ActionEvent e) switch(ss) case 0: administer();break; case 1: commonclass();break; public void administer() String str1,str2; str1=Namefield.getText(); str2= new String(Pwdfield.getPassword(); try if(str1.equals()|str2.equals() JOptionPane.showMessageDialog(null,请输入职工号和密码!); return; Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection conn = DriverManager.getConnection(jdbc:odbc:redsun,); PreparedStatement stmt = conn.prepareStatement(select * from 系统用户 where 职工号=? and 密码=?); stmt.setString(1,str1); stmt.setString(2,str2); ResultSet rs =stmt.executeQuery(); if (rs.next() JOptionPane.showMessageDialog(null,登录成功!,欢迎登录人事管理系统,JOptionPane.INFORMATION_MESSAGE); MenuFrame o=new MenuFrame(); o.go(); else JOptionPane.showMessageDialog(null,非系统用户,返回!,登录失败,JOptionPane.INFORMATION_MESSAGE); System.out.println(无此用户,返回!); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); public void commonclass() String str1,str2; str1=Namefield.getText(); str2= new String(Pwdfield.getPassword(); try if(str1.equals()|str2.equals() JOptionPane.showMessageDialog(null,请输入职工号和密码!); return; Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection conn = DriverManager.getConnection(jdbc:odbc:redsun,); PreparedStatement stmt = conn.prepareStatement(select * from 系统用户 where 职工号=? and 密码=?); stmt.setString(1,str1); stmt.setString(2,str2); ResultSet rs =stmt.executeQuery(); if (rs.next() JOptionPane.showMessageDialog(null,登录成功!,欢迎登录人事管理系统,JOptionPane.INFORMATION_MESSAGE); MenuFrame1 o=new MenuFrame1(); o.go(); else JOptionPane.showMessageDialog(null,非系统用户,返回!,登录失败,JOptionPane.INFORMATION_MESSAGE); System.out.println(无此用户,返回!); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); public static void main(String args) new LoginFrame(); (2)MenuFrame.javaimport java.awt.*;import javax.swing.*;import java.awt.event.*;class MenuFrame extends JFrame privateJPanel panel=new JPanel();JMenuBar jmenubar1=new JMenuBar();/创建菜单栏 JMenu jmenu1=new JMenu(); JMenu jmenu2=new JMenu(); JMenu jmenu3=new JMenu(); JMenu jmenu4=new JMenu();/创建菜单 JMenuItem jmenuitem1=new JMenuItem(); JMenuItem jmenuitem2=new JMenuItem(); JMenuItem jmenuitem3=new JMenuItem(); JMenuItem jmenuitem4=new JMenuItem(); JMenuItem jmenuitem5=new JMenuItem(); JMenuItem jmenuitem6=new JMenuItem(); JMenuItem jmenuitem7=new JMenuItem();/创建菜单条 /定义方法 public void go() /设置窗口容器的布局管理器 this.getContentPane().setLayout(new BorderLayout(); /设置窗口的标题 this.setTitle(人事管理系统); /添加菜单栏 this.setJMenuBar(jmenubar1); /设置菜单和菜单项名称 jmenu1.setText(用户管理); jmenuitem2.setText(修改密码和权限); jmenuitem4.setText(添加用户); jmenu2.setText(职工信息管理); jmenuitem1.setText(添加职工信息); jmenuitem3.setText(修改职工信息); jmenuitem5.setText(查询职工信息); jmenu3.setText(删除员工); jmenuitem6.setText(删除职工信息); jmenu4.setText(退出); jmenuitem7.setText(退出系统); /向菜单栏中添加菜单 jmenubar1.add(jmenu1); jmenubar1.add(jmenu2); jmenubar1.add(jmenu3); jmenubar1.add(jmenu4); /向菜单中添加菜单项 /jmenu1.add(jmenuitem1); jmenu1.add(jmenuitem2); jmenu1.add(jmenuitem4); jmenu2.add(jmenuitem1); jmenu2.add(jmenuitem3); jmenu2.add(jmenuitem5); jmenu3.add(jmenuitem6); jmenu4.add(jmenuitem7); jmenuitem1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) WorkerAdd addusers1=new WorkerAdd(); panel.add(addusers1,添加职工); CardLayout c1=(CardLayout)panel.getLayout(); c1.show(panel,添加职工信息); ); jmenuitem2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) UpdatePwdUserclass o=new UpdatePwdUserclass(); panel.add(o,修改密码和权限); CardLayout c1=(CardLayout)panel.getLayout(); c1.show(panel,修改密码和权限); ); jmenuitem3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) WorkerUpdate o=new WorkerUpdate(); panel.add(o,修改职工信息); CardLayout c1=(CardLayout)panel.getLayout(); c1.show(panel,修改职工信息); ); jmenuitem4.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) UserAdd o=new UserAdd(); panel.add(o,); CardLayout c1=(CardLayout)panel.getLayout(); c1.show(panel,添加用户); ); jmenuitem5.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) WorkerSelect o=new WorkerSelect(); panel.add(o,查询职工); CardLayout c1=(CardLayout)panel.getLayout(); c1.show(panel,查询职工信息); ); jmenuitem6.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) WorkerDelete o=new WorkerDelete(); panel.add(o,删除职工); CardLayout c1=(CardLayout)panel.getLayout(); c1.show(panel,删除职工信息); ); jmenuitem7.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(null,欢迎下次光临!,消息提示,JOptionPane.INFORMATION_MESSAGE); System.exit(0); );/产生窗口的最佳尺寸、布局各组件,然后显示窗口pack();this.setSize(320,240); setVisible(true); public static void main(String args)MenuFrame b=new MenuFrame();b.go();(3)UpdatePwdUserclass.java import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import javax.swing.table.*;import java.util.Vector;public class UpdatePwdUserclass extends JFrameContainer c;JPanel panel1,panel2,panel3,panel4;JLabel WnoLabel,PwdLabel,UserClassLabel;JTextField WTextField,XTextField,X1TextField;JButton Btnopen,Btnupdate;JTable table=null;DefaultTableModel defaultModel=null; UpdatePwdUserclass() super(修改密码和权限);c=getContentPane(); c.setLayout(new BorderLayout(); WnoLabel=new JLabel(职工号:,JLabel.CENTER); PwdLabel=new JLabel(密码:,JLabel.CENTER); UserClassLabel=new JLabel(用户类:,JLabel.CENTER); WTextField=new JTextField(15); XTextField=new JTextField(15); X1TextField=new JTextField(15); Btnopen=new JButton(打开); Btnupdate=new JButton(修改);panel1=new JPanel();panel3=new JPanel();panel4=new JPanel();panel1.add(WnoLabel);panel4.add(PwdLabel);panel3.add(UserClassLabel);panel1.add(WTextField);panel4.add(XTextField);panel3.add(X1TextField); panel1.add(Btnopen); panel3.add(Btnupdate);String n=职工号,密码,用户类;String data=new String00;defaultModel=new DefaultTableModel(data,n);table=new JTable(defaultModel);table.setPreferredScrollableViewportSize(new Dimension(500,100);JScrollPane s=new JScrollPane(table);panel2=new JPanel();panel2.add(s);c.add(panel1,BorderLayout.NORTH);c.add(panel3,BorderLayout.EAST);c.add(panel4,BorderLayout.WEST);c.add(panel2,BorderLayout.SOUTH);pack();setVisible(true);Btnopen.addActionListener(new ActionListener()public void actionPerformed(ActionEvent ex)try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(java.lang.ClassNotFoundException e) System.out.println(ForName : + e.getMessage(); String Wno=WTextField.getText(); String str=null; String str1=select 职工号,密码,用户类 from 系统用户; try if(Wno.equals() str=str1; else str=str1+ where 职工号=+WTextField.getText()+; Connection con = DriverManager.getConnection(jdbc:odbc:redsun); Statement stmt = con.createStatement(); ResultSet rs=stmt.executeQuery(str); while(rs.next() Vector data=new Vector(); data.addElement(rs.getString(1); data.addElement(rs.getString(2); data.addElement(rs.getString(3); defaultModel.addRow(data); table.revalidate(); catch(SQLException e) System.out.println(SQLException: +e.getMessage(); );Btnupdate.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) try Submit o=new Submit(); if(XTextField.getText().toString().equals() JOptionPane.showMessageDialog(null,密码不能为空,添加,JOptionPane.WARNING_MESSAGE); else o.tijiao(WTextField.getText().toString(),XTextField.getText().toString(),X1TextField.getText().toString(); catch(Exception e1) e1.printStackTrace(); JOptionPane.showMessageDialog(null,修改成功!,修改密码和权限,JOptionPane.INFORMATION_MESSAGE); ); public static void main(String args) new UpdatePwdUserclass(); (4)Submit.java import java.sql.*;public class Submit public void tijiao(String WTextField,String XTextField,String X1TextField) throws Exception String JDriver = sun.jdbc.odbc.JdbcOdbcDriver; String connectionURL=jdbc:odbc:redsun; Class.forName(JDriver); / Connect the ODBC resource. Connection con = DriverManager.getConnection(connectionURL); Statement stmt = con.createStatement(); System.out.println(连接数据库成功!); String query1 = update 系统用户 set 密码= +XTextField+, 用户类=+X1TextField+ where 职工号= +WTextField+; System.out.println(*+XTextField+ +X1TextField); stmt.executeUpdate(query1); stmt.close(); con.close(); (5)UserAdd.java import java.io.*;import .*;import java.awt.event.*;import javax.swing.*;public class UserAdd extends JFrameprivate JTextField Wno,Wpwd,Wuserclass;private JLabel jno,jpwd,juserclass;private JButton Btnupdate,Btnexit;public UserAdd()this.setLayout(null);jno=new JLabel(职工号:);jpwd=new JLabel(密码:);juserclass=new JLabel(用户类:); Wno=new JTextField(); Wpwd=new JTextField(); Wuserclass=new JTextField(); Btnupdate=new JButton(添加); Btnexit=new JButton(取消); jno.setBounds(30,20,60,30);/设置标签大小 jpwd.setBounds(30,70,60,26); juserclass.setBounds(30,120,60,26); Wno.setBounds(110,20,120,26); Wpwd.setBounds(110,70,120,26); Wuserclass.setBounds(110,120,120,26); Btnupdate.setBounds(30,220,60,26); Btnexit.setBounds(140,220,60,26);this.add(jno);this.add(Wno);this.add(jpwd);this.add(Wpwd);this.add(juserclass);this.add(Wuserclass);this.add(Btnupdate);this.add( Btnexit);this.setSize(250,300);this.setTitle(添加新用户);Btnupdate.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) try Add1 o=new Add1(); if(Wno.getText().toString().equals() JOptionPane.showMessageDialog(null,职工号不能为空,添加,JOptionPane.WARNING_MESSAGE); else if(Wpwd.getText().toString().equals() JOptionPane.showMessageDialog(null,密码不能为空,添加,JOptionPane.WARNING_MESSAGE); else if(Wuserclass.getText().toString().equals() JOptionPane.showMessageDialog(null,用户类不能为空,添加,JOptionPane.WARNING_MESSAGE); else o.tianjia(Wno.getText().toString(),Wpwd.getText().toString(),Wuserclass.getText().toString(); catch(Exception e1) e1.printStackTrace(); JOptionPane.showMessageDialog(null,添加成功!,添加新用户,JOptionPane.INFORMATION_MESSAGE); );Btnexit.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) Wno.setText(); Wpwd.setTe

温馨提示

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

评论

0/150

提交评论