java人事管理系统.docx
- 文档编号:5011912
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:45
- 大小:298.01KB
java人事管理系统.docx
《java人事管理系统.docx》由会员分享,可在线阅读,更多相关《java人事管理系统.docx(45页珍藏版)》请在冰豆网上搜索。
java人事管理系统
1系统设计目标
1.1需求分析
本系统应具有以下功能:
(1)系统管理员:
可以添加用户信息、修改密码和设置用户权限,以及对职工信息进行添加、修改、查询、删除等操作。
(2)一般用户:
可以查询职工信息。
1.2系统功能设计
(1)系统功能结构图,如图1-1所示:
图1-1系统功能结构图
1.3系统开发工具
本系统采用Access2003创建后台数据库,前台开发工具采用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].北京:
清华大学出版社,2011
[2]於东军,杨静宇等编著.Java程序设计与应用开发[M].北京:
清华大学出版社,2005
附录:
源程序代码
(1)LoginFrame.java
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.sql.*;
publicclassLoginFrameextendsJFrame{
ContainercontentPane;
JPanelpaneTop=newJPanel();
JPanelpaneMid=newJPanel();
JPanelpaneBut=newJPanel();
JLabelTop=newJLabel();
JLabelNames=newJLabel();
JLabelPwd=newJLabel();
JLabelModel=newJLabel();
JLabelNull=newJLabel();
JTextFieldNamefield=newJTextField(15);
JPasswordFieldPwdfield=newJPasswordField(15);
JComboBoxcmb=newJComboBox();
JButtonbutton2=newJButton("取消");
JButtonbutton1=newJButton("登录");
intss;
LoginFrame(){
Names.setText("职工号:
");
Pwd.setText("密码:
");
Model.setText("用户类:
");
Null.setText("");
String[]s1={"管理员","一般用户"};
cmb.addItem(s1[0]);
cmb.addItem(s1[1]);
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);
//将窗口放置在中央
Dimensionscreen=Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screen.width-getSize().width)/2,(screen.height-getSize().height)/2);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
button1.addActionListener(newButtonHandle());
cmb.addActionListener(newGetSelected());
button2.addActionListener(newExit());
}
publicclassExitimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
dispose();
}
}
publicclassGetSelectedimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
ss=cmb.getSelectedIndex();
}
}
publicclassButtonHandleimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
switch(ss){
case0:
administer();break;
case1:
commonclass();break;
}
}
publicvoidadminister(){
Stringstr1,str2;
str1=Namefield.getText();
str2=newString(Pwdfield.getPassword());
try{
if(str1.equals("")||str2.equals("")){
JOptionPane.showMessageDialog(null,"请输入职工号和密码!
");
return;}
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectionconn=DriverManager.getConnection("jdbc:
odbc:
redsun","","");
PreparedStatementstmt=conn.prepareStatement("select*from系统用户where职工号=?
and密码=?
");
stmt.setString(1,str1);
stmt.setString(2,str2);
ResultSetrs=stmt.executeQuery();
if(rs.next()){
JOptionPane.showMessageDialog(null,"登录成功!
","欢迎登录人事管理系统",JOptionPane.INFORMATION_MESSAGE);
MenuFrameo=newMenuFrame();
o.go();
}
else{
JOptionPane.showMessageDialog(null,"非系统用户,返回!
","登录失败",JOptionPane.INFORMATION_MESSAGE);
System.out.println("无此用户,返回!
");
}
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
e.printStackTrace();
}
}
publicvoidcommonclass(){
Stringstr1,str2;
str1=Namefield.getText();
str2=newString(Pwdfield.getPassword());
try{
if(str1.equals("")||str2.equals("")){
JOptionPane.showMessageDialog(null,"请输入职工号和密码!
");
return;}
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectionconn=DriverManager.getConnection("jdbc:
odbc:
redsun","","");
PreparedStatementstmt=conn.prepareStatement("select*from系统用户where职工号=?
and密码=?
");
stmt.setString(1,str1);
stmt.setString(2,str2);
ResultSetrs=stmt.executeQuery();
if(rs.next()){
JOptionPane.showMessageDialog(null,"登录成功!
","欢迎登录人事管理系统",JOptionPane.INFORMATION_MESSAGE);
MenuFrame1o=newMenuFrame1();
o.go();
}
else{
JOptionPane.showMessageDialog(null,"非系统用户,返回!
","登录失败",JOptionPane.INFORMATION_MESSAGE);
System.out.println("无此用户,返回!
");
}
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
publicstaticvoidmain(Stringargs[]){
newLoginFrame();
}
}
(2)MenuFrame.java
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
classMenuFrameextendsJFrame{
privateJPanelpanel=newJPanel();
JMenuBarjmenubar1=newJMenuBar();//创建菜单栏
JMenujmenu1=newJMenu();
JMenujmenu2=newJMenu();
JMenujmenu3=newJMenu();
JMenujmenu4=newJMenu();//创建菜单
JMenuItemjmenuitem1=newJMenuItem();
JMenuItemjmenuitem2=newJMenuItem();
JMenuItemjmenuitem3=newJMenuItem();
JMenuItemjmenuitem4=newJMenuItem();
JMenuItemjmenuitem5=newJMenuItem();
JMenuItemjmenuitem6=newJMenuItem();
JMenuItemjmenuitem7=newJMenuItem();//创建菜单条
//定义方法
publicvoidgo(){
//设置窗口容器的布局管理器
this.getContentPane().setLayout(newBorderLayout());
//设置窗口的标题
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(newActionListener(){
publicvoidactionPerformed(ActionEvente)
{
WorkerAddaddusers1=newWorkerAdd();
panel.add(addusers1,"添加职工");
CardLayoutc1=(CardLayout)panel.getLayout();
c1.show(panel,"添加职工信息");
}
});
jmenuitem2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente)
{
UpdatePwdUserclasso=newUpdatePwdUserclass();
panel.add(o,"修改密码和权限");
CardLayoutc1=(CardLayout)panel.getLayout();
c1.show(panel,"修改密码和权限");
}
});
jmenuitem3.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente)
{
WorkerUpdateo=newWorkerUpdate();
panel.add(o,"修改职工信息");
CardLayoutc1=(CardLayout)panel.getLayout();
c1.show(panel,"修改职工信息");
}
});
jmenuitem4.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente)
{
UserAddo=newUserAdd();
panel.add(o,"");
CardLayoutc1=(CardLayout)panel.getLayout();
c1.show(panel,"添加用户");
}
});
jmenuitem5.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente)
{
WorkerSelecto=newWorkerSelect();
panel.add(o,"查询职工");
CardLayoutc1=(CardLayout)panel.getLayout();
c1.show(panel,"查询职工信息");
}
});
jmenuitem6.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente)
{
WorkerDeleteo=newWorkerDelete();
panel.add(o,"删除职工");
CardLayoutc1=(CardLayout)panel.getLayout();
c1.show(panel,"删除职工信息");
}
});
jmenuitem7.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente)
{
JOptionPane.showMessageDialog(null,"欢迎下次光临!
","消息提示",JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
});
//产生窗口的最佳尺寸、布局各组件,然后显示窗口
pack();
this.setSize(320,240);
setVisible(true);
}
publicstaticvoidmain(String[]args){
MenuFrameb=newMenuFrame();
b.go();
}
}
(3)UpdatePwdUserclass.java
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.sql.*;
importjavax.swing.table.*;
importjava.util.Vector;
publicclassUpdatePwdUserclassextendsJFrame{
Containerc;
JPanelpanel1,panel2,panel3,panel4;
JLabelWnoLabel,PwdLabel,UserClassLabel;
JTextFieldWTextField,XTextField,X1TextField;
JButtonBtnopen,Btnupdate;
JTabletable=null;
DefaultTableModeldefaultModel=null;
UpdatePwdUserclass(){
super("修改密码和权限");
c=getContentPane();
c.setLayout(newBorderLayout());
WnoLabel=newJLabel("职工号:
",JLabel.CENTER);
PwdLabel=newJLabel("密码:
",JLabel.CENTER);
UserClassLabel=newJLabel("用户类:
",JLabel.CENTER);
WTextField=newJTextField(15);
XTextField=newJTextField(15);
X1Tex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 人事管理系统