JAVA课设职工信息管理完整整理.docx
《JAVA课设职工信息管理完整整理.docx》由会员分享,可在线阅读,更多相关《JAVA课设职工信息管理完整整理.docx(58页珍藏版)》请在冰豆网上搜索。
JAVA课设职工信息管理完整整理
*******************
实践教案
*******************
兰州理工大学
计算机与通信学院
JAVA课程设计
题目:
职工信息管理系统
专业班级:
计算机科学与技术2班
姓名:
葛晓刚
学号:
10240235
指导教师:
张永
成绩:
摘要
用计算机管理职工信息具有可靠、方便、省时省力的特点。
当今各种管理软件大部分只针对一个公司或者更大的范围来编写,它具有通用性良好的特点,但对于小领域如一个系来说,它就很难适应这个系特殊的管理。
而该设计正是基于职工信息管理的特点来开发的。
它可以实现职工信息的录入、添加、修改、删除、查询、保存到数据库等基本功能。
同时还为管理者提供统计、制表、系统日志、开介绍信等特色功能。
该系统具有界面友好、操作方便、成本低廉、符合管理者习惯的特点。
另外,系统采用Java语言开发,具有可移植性良好、不依赖于操作系统的特点。
同时采用MySQL数据库管理系统做数据库,是因为它具有管理方便,存储量大的特点,适合计算机系信息管理的要求,它主要包含以下几个模块:
系统权限的设定、原始数据录入、数据的汇总及查询等。
本文系统的分析了软件开发的背景以过程;首先介绍了软件的开发环境,其次介绍了本软件的详细设计过程:
数据库的设计、各个模块的设计和实现,以及具体界面的设计和功能。
关键词:
职工管理信息系统职工信息
目录
一、需求分析1
二、总体设计2
三、详细设计3
3.1基础数据定义3
3.2主要功能实现5
3.3数据库表定义..................................................................................................................25
四、测试28
4.1登录主界面28
4.2管理员身份登录主界面28
4.3普通用户身份登录主界面29
4.4t添加职工信息29
4.5修改职工信息30
4.6职工信息查询30
4.6删除职工信息..................................................................................................................31
4.6添加用户信息..................................................................................................................31
4.6修改用户信息..................................................................................................................32
4.6用户信息查询..................................................................................................................32
4.6删除用户信息...................................................................................................................33
4.6用户密码修改..................................................................................................................33
设计总结34
参考文献35
致谢36
一、需求分析
1.1问题描述
对职工信息进行管理,包括:
职工信息的录入、修改、删除、更新,还有对登录用户进行管理,包括用户信息的录入、删除、修改,密码修改等管理,还有对用户信息的现实打印,查找等。
1.2要求
(1)该管理软件将对用户信息进行管理和统计,对职工的信息进行录入更新管理和统计;
(2)该管理软件将为用户提供账号管理工具,以便用户对账号进行管理,具体为添加用户、删除用户、修改用户密码;
(4)该管理软件提供人员管理,能够对员工的分类管理,新员工的加入以及员工删除,修改进本信息等功能。
1.3实现功能
(1)由键盘输入职工对象,以数据库方式保存。
程序执行时将文件录入数据库。
(2)对职工对象进行查找,修改,删除,更新等操作。
(3)对用户对象进行查找,修改,删除,更新等操作。
二、总体设计
根据需求分析,整个职工管理系统的功能结构如图1所示:
图1系统功能结构图
三、详细设计
3.1基础数据类定义
3.1.1职工数据定义
publicclassStaff{
privateStringid。
//职工号
privateStringname。
//姓名
privateStringtype。
//任职类型
privateStringxueli。
//学历
privateStringaddress。
//地址
privateStringsex。
//性别
privateintage。
//年龄
privatedoublesalary。
//工资
}
3.1.2用户数据定义
publicclassUser{
privateStringid。
//用户编号
privateStringname。
//用户姓名
privateStringsex。
//性别
privateStringtype。
//用户类别
}
3.1.3数据库操作定义
publicclassBaseDao{
protectedstaticStringdriver="com.mysql.jdbc.Driver"。
//数据库驱动
protectedstaticStringurl="jdbc:
mysql:
//localhost:
3306/projectdata?
userUnicode=true&characterEncoding=utf8"。
//连接url
protectedstaticStringdbUser="root"。
//数据库用户名
protectedstaticStringdbPwd="root"。
//数据库密码
privatestaticConnectionconn=null。
//构造方法,创建数据库连接
privateBaseDao(){
try{
if(conn==null){
Class.forName(driver)。
//加载数据库驱动
conn=DriverManager.getConnection(url,dbUser,dbPwd)。
//建立数据库连接
}else
return。
}catch(Exceptionee){
System.out.println("数据库连接失败!
")。
ee.printStackTrace()。
}
}
//执行数据库查询操作
publicstaticResultSetexecuteQuery(Stringsql){
try{
if(conn==null)
newBaseDao()。
returnconn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE).executeQuery(sql)。
//执行数据库查询
}catch(SQLExceptione){
e.printStackTrace()。
returnnull。
}
}
//执行数据库更新操作
publicstaticintexecuteUpdate(Stringsql){
try{
if(conn==null)
newBaseDao()。
returnconn.createStatement().executeUpdate(sql)。
//执行数据库更新
}catch(SQLExceptione){
System.out.println("错误信息:
"+e.getMessage())。
return-1。
}finally{
}
}
publicstaticvoidclose(){
try{
conn.close()。
}catch(SQLExceptione){
e.printStackTrace()。
}finally{
conn=null。
}
}
}
3.2主要功能实现
3.2.1职工信息录入
publicclassStaffAddextendsJFrame{
privateJPaneldialogPane。
privateJPanelcontentPanel。
privateJLabellb_id。
privateJTextFieldtf_id。
privateJLabellb_name。
privateJTextFieldtf_name。
privateJLabellb_type。
privateJComboBoxcb_type。
privateJLabellb_xueli。
privateJTextFieldtf_xueli。
privateJLabellb_address。
privateJTextFieldtf_address。
privateJLabellb_sex。
privateJTextFieldtf_sex。
privateJLabellb_salary。
privateJTextFieldtf_salary。
privateJLabellb_age。
privateJTextFieldtf_age。
privateJPanelbuttonBar。
privateJButtonbtn_save。
privateJButtonbtn_close。
publicStaffAdd(){
initComponents()。
}
privatevoidinitComponents(){
dialogPane=newJPanel()。
contentPanel=newJPanel()。
lb_id=newJLabel()。
tf_id=newJTextField()。
lb_name=newJLabel()。
tf_name=newJTextField()。
lb_type=newJLabel()。
cb_type=newJComboBox(Constant.STAFF_TYPES)。
lb_xueli=newJLabel()。
tf_xueli=newJTextField()。
lb_address=newJLabel()。
tf_address=newJTextField()。
lb_sex=newJLabel()。
tf_sex=newJTextField()。
lb_salary=newJLabel()。
tf_salary=newJTextField()。
lb_age=newJLabel()。
tf_age=newJTextField()。
buttonBar=newJPanel()。
btn_save=newJButton()。
btn_close=newJButton()。
setTitle("添加职工")。
setResizable(false)。
ContainercontentPane=getContentPane()。
contentPane.setLayout(newBorderLayout())。
{
dialogPane.setBorder(newEmptyBorder(12,12,12,12))。
dialogPane.setLayout(newBorderLayout())。
{
contentPanel.setLayout(newGridLayout(5,4,6,6))。
lb_id.setText("职工号:
")。
lb_id.setHorizontalAlignment(SwingConstants.RIGHT)。
contentPanel.add(lb_id)。
contentPanel.add(tf_id)。
lb_sex.setText("性别:
")。
lb_sex.setHorizontalAlignment(SwingConstants.RIGHT)。
contentPanel.add(lb_sex)。
contentPanel.add(tf_sex)。
lb_name.setText("姓名:
")。
lb_name.setHorizontalAlignment(SwingConstants.RIGHT)。
contentPanel.add(lb_name)。
contentPanel.add(tf_name)。
lb_type.setText("任职类型:
")。
lb_type.setHorizontalAlignment(SwingConstants.RIGHT)。
contentPanel.add(lb_type)。
contentPanel.add(cb_type)。
lb_xueli.setText("学历:
")。
lb_xueli.setHorizontalAlignment(SwingConstants.RIGHT)。
contentPanel.add(lb_xueli)。
contentPanel.add(tf_xueli)。
lb_salary.setText("工资:
")。
lb_salary.setHorizontalAlignment(SwingConstants.RIGHT)。
contentPanel.add(lb_salary)。
contentPanel.add(tf_salary)。
lb_address.setText("地址:
")。
lb_address.setHorizontalAlignment(SwingConstants.RIGHT)。
contentPanel.add(lb_address)。
contentPanel.add(tf_address)。
lb_age.setText("年龄:
")。
lb_age.setHorizontalAlignment(SwingConstants.RIGHT)。
contentPanel.add(lb_age)。
contentPanel.add(tf_age)。
}
dialogPane.add(contentPanel,BorderLayout.CENTER)。
{
buttonBar.setBorder(newEmptyBorder(12,0,0,0))。
buttonBar.setLayout(newGridBagLayout())。
((GridBagLayout)buttonBar.getLayout()).columnWidths=newint[]{
0,85,80}。
((GridBagLayout)buttonBar.getLayout()).columnWeights=newdouble[]{
1.0,0.0,0.0}。
btn_save.setText("保存")。
btn_save.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
btn_saveActionPerformed(e)。
}
})。
buttonBar.add(btn_save,newGridBagConstraints(1,0,1,1,0.0,
0.0,GridBagConstraints.CENTER,
GridBagConstraints.BOTH,newInsets(0,0,0,5),0,0))。
btn_close.setText("关闭")。
btn_close.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
btn_closeActionPerformed(e)。
}
})。
buttonBar.add(btn_close,newGridBagConstraints(2,0,1,1,
0.0,0.0,GridBagConstraints.CENTER,
GridBagConstraints.BOTH,newInsets(0,0,0,0),0,0))。
}
dialogPane.add(buttonBar,BorderLayout.SOUTH)。
}
contentPane.add(dialogPane,BorderLayout.CENTER)。
setSize(625,260)。
setLocationRelativeTo(getOwner())。
show()。
}
privatevoidbtn_saveActionPerformed(ActionEvente){
Stringid=tf_id.getText()。
Stringname=tf_name.getText()。
Stringtype=cb_type.getSelectedItem().toString()。
Stringxueli=tf_xueli.getText()。
Stringaddress=tf_address.getText()。
Stringsex=tf_sex.getText()。
Stringsalary=tf_salary.getText()。
Stringage=tf_age.getText()。
Stringsql="insertintostaff(id,name,type,xueli,address,sex,salary,age)values('"
+id
+"','"
+name
+"','"
+type
+"','"
+xueli
+"','"
+address+"','"+sex+"','"+salary+"','"+age+"')"。
inti=BaseDao.executeUpdate(sql)。
if(i==1){
JOptionPane.showMessageDialog(null,"添加成功")。
dispose()。
}
}
privatevoidbtn_closeActionPerformed(ActionEvente){
dispose()。
}
}
3.2.2职工信息修改
publicclassStaffUpdateextendsJFrame{
privateJPaneldialogPane。
privateJPanelcontentPanel。
privateJLabellb_cx_id。
privateJTextFieldtf_cx_id。
privateJButtonbtn_query。
privateJLabellabel12。
privateJLabellb_id。
privateJTextFieldtf_id。
privateJLabellb_name。
privateJTextFieldtf_name。
privateJLabellb_type。
privateJComboBoxcb_type。
privateJLabellb_xueli。
privateJTextFieldtf_xueli。
privateJLabellb_address。
privateJTextFieldtf_address。
privateJLabellb_sex。
privateJTextFieldtf_sex。
privateJLabellb_salary。
privateJTextFieldtf_salary。
privateJLabellb_age。
privateJTextFieldtf_age。
privateJPanelbuttonBar。
privateJButtonbtn_save。
privateJButtonbtn_close。
publicStaffUpdate(){
initComponents()。
}
privatevoidinitComponents(){
dialogPane=newJPanel()。
contentPanel=newJPanel()。
lb_cx_id=newJLabel()。
tf_cx_id=newJTextField()。
btn_query=newJButton()。
label12=newJLabel()。
lb_id=newJLabel()。
tf_id=newJTextField()。
lb_name=newJLabel()。
tf_name=newJTextField()。
lb_type=newJLabel()。
cb_type=newJComboBox(Constant.STAFF_TYPES)。
lb_xueli=newJLabel()。
tf_xueli=newJTextField()。
lb_address=newJLabel()。
tf_address=newJTextField()。
lb_sex=newJLabel()。
tf_sex=newJTextFi