JAVA课设职工信息管理完整整理Word格式文档下载.docx
《JAVA课设职工信息管理完整整理Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVA课设职工信息管理完整整理Word格式文档下载.docx(58页珍藏版)》请在冰豆网上搜索。
![JAVA课设职工信息管理完整整理Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-12/7/6f52442f-b52e-4705-bd71-c4a33857c86b/6f52442f-b52e-4705-bd71-c4a33857c86b1.gif)
目录
一、需求分析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{
//用户编号
//用户姓名
//用户类别
3.1.3数据库操作定义
publicclassBaseDao{
protectedstaticStringdriver="
com.mysql.jdbc.Driver"
。
//数据库驱动
protectedstaticStringurl="
jdbc:
mysql:
//localhost:
3306/projectdata?
userUnicode=true&
characterEncoding=utf8"
//连接url
protectedstaticStringdbUser="
root"
//数据库用户名
protectedstaticStringdbPwd="
//数据库密码
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){
if(conn==null)
newBaseDao()。
returnconn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE).executeQuery(sql)。
//执行数据库查询
}catch(SQLExceptione){
e.printStackTrace()。
returnnull。
//执行数据库更新操作
publicstaticintexecuteUpdate(Stringsql){
returnconn.createStatement().executeUpdate(sql)。
//执行数据库更新
错误信息:
+e.getMessage())。
return-1。
}finally{
publicstaticvoidclose(){
conn.close()。
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(){
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{
privateJLabellb_cx_id。
privateJTextFieldtf_cx_id。
privateJButtonbtn_query。
privateJLabellabel12。
publicStaffUpdate(){
lb_cx_id=newJLabel()。
tf_cx_id=newJTextField()。
btn_query=newJButton()。
label12=newJLabel()。
tf_sex=newJTextFi