基于Java Swing+MySQL实现(界面)的职工信息管理系统【100011232】

您所在的位置:网站首页 职工考勤管理系统课程设计报告 基于Java Swing+MySQL实现(界面)的职工信息管理系统【100011232】

基于Java Swing+MySQL实现(界面)的职工信息管理系统【100011232】

2023-07-07 01:03| 来源: 网络整理| 查看: 265

职工信息管理系统 1 课程设计目的

《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深职工对面向对象程序设计的理论、方法和基础知识的理解,掌握使用 Java 语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力。

2 课程设计任务与要求:

课程设计可选用 NetBeans、Eclipse、JBuilder 等作为开发平台以提高开发效率,尽可能熟练掌握其中一种集成开发环境。建议采用 UML 建模技术进行系统的分析设计,在 Visio 中画出系统用例图和类图,并将 UML 图复制到设计报告中。

该程序实现职工信息管理功能,使用 JDBC-ODBC 数据库接口,完成对后台数据库的插入、删除、修改、查询等操作。

要求:

课程设计可选用 NetBeans、Eclipse、JBuilder 等作为开发平台以提高开发效率,尽可能熟练掌握其中一种集成开发环境。建议采用 UML 建模技术进行系统的分析设计,在 Visio 中画出系统用例图和类图,并将 UML 图复制到设计报告中。

通过这次设计,要求掌握以下内容:

面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用类、包、接口的定义与使用常用工具类与算法的实现(数组、向量、字符串、链表)Java 常用标准 GUI 组件及其事件处理Java 的异常处理机制Java 的数据库连接技术Java 的多线程技术与动画制作Java 的网络编程 3 课程设计说明书 3.1 需求分析

(1)功能分析

在职工信息管理系统中,主要是对职工信息管理,功能分下如下:

职工信息的添加职工信息的查询(按工号进行查询)职工信息的删除(按工号进行删除)职工信息的修改(按工号进行修改)

(2)性能要求分析

1.系统易操作性

所开发的系统就做到操作简单,尽量使系统操作不受用户对电脑知识水平的限制。

2.系统具有可维护性

由于系统涉及的信息比较广,数据库中的数据需要定期修改,系统可利用的空间及性能也随之下降,为了使系统更好地运转。

3.系统具有开放性

该系统能够在开放的硬件系结构中运行,并且能与其他系统顺利连接,不会因外部系统的不同面要做在量的修改工作

3.2 概要设计 3.2.1 程序功能

经过分析,本程序应该包括以下功能:

1、维护职工信息

职工信息添加职工信息删除职工信息修改职工信息查询

职工信息主要包括:职工的工号、姓名、性别、出生和籍贯等。

2、帮助

帮助:在帮助中主要是说明系统的主要功能等。关于:在关于中主要是说明系统的版本信息,版权所有等信息。

(功能模块图 )

3.2.2 程序用例图:

图一 职工信息系统程序的设计与实现程序用例图

3.3 程序的功能设计:

维护职工信息:

1 职工信息添加:点击添加-> 在相应的提示处输入信息。

如果输入的信息为空,则提示输入为空,不通过;如果用户名信息为空,则提示用户名不能为空,不通过。如果用户名存在,则提示用户已经存在,不通过。提交成功。

2 职工信息删除:输入工号-> 点击确定

如果输入的工号存在,则删除成功;如果不存在,则提示用户不存在,不通过。

3 职工信息修改:输入工号-> 点击确定

如果输入的工号存在,则显示职工所有信息,并可在原信息处修改,若修改信息正确则修改成功,否则修改不成功;如果不存在,则提示用户不存在,不通过。

4 职工信息查询:输入工号-> 点击确定

如果输入的工号存在,则显示职工所有信息;如果不存在,则提示用户不存在,可重新输入

帮助:

帮助:显示系统主要能关于:显示系统版本信息,开发人员等 3.4 主要功能程序的流程图

图二 职工信息系统程序主要功能程序的流程图

3.5 数据库连接和建立

用 office2010 的 Access 建立数据库,数据库名称 mysql.并在数据库建立表一,如图所示

表一 student 表

4 课程设计成果 4.1 主要代码 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; //主函数、主要类 public class JCTX { public static void main(String[] args) { new Frm_Main(); } } // 实现类 class Frm_Main implements ActionListener // throws IOException { public JFrame frame; public Container c; public JMenuBar menuBar; public JMenu mainMenu1; public JMenu mainMenu2; public JMenu mainMenu3; public JMenuItem subMenu1[] = new JMenuItem[5]; public JMenuItem subMenu2[] = new JMenuItem[7]; public JMenuItem subMenu3[] = new JMenuItem[2]; JButton toolBarButton[] = new JButton[8]; public JToolBar toolBar; String strTip[] = { "查询您要找的职工记录...", "添加职工记录...", "删除已有的职工记录", "修改职工记录...", "使您修改的职工记录生效...", "使 您添加的职工记录生效...", "确认删除当前记录...", "退出本系统:)" }; String id = new String(); String name = new String(); String sex = new String(); String birthday = new String(); String address = new String(); String birth = new String(); Connection conn; ResultSet rs; Statement st; PreparedStatement pst; public JLabel idL = new JLabel("工号:"); public JLabel nameL = new JLabel("姓名:"); public JLabel sexL = new JLabel("性别:"); public JLabel jlbirth = new JLabel("生日:"); public JLabel jladdr = new JLabel("籍贯:"); public JTextField idT = new JTextField(); public JTextField nameT = new JTextField(); public JTextField sexT = new JTextField(); public JTextField jtbirth = new JTextField(); public JTextField jtaddr = new JTextField(); public Frm_Main() { frame = new JFrame("职工信息管理系统"); = frame.getContentPane();// 初始化一个容器 setLayout(null); menuBar = new JMenuBar(); toolBar = new JToolBar(); toolBar.setFloatable(false); frame.setJMenuBar(menuBar); frame.setResizable(false); mainMenu2 = new JMenu("维护职工信息"); String str2[] = { "查询记录", "添加记录", "删除记录", "修改记录", "提交修改", "提交添加", "确认删除" }; for (int i = 0; i < 7; i++) { subMenu2[i] = new JMenuItem(str2[i]); subMenu2[i].addActionListener(this); mainMenu2.add(subMenu2[i]); } menuBar.add(mainMenu2); mainMenu3 = new JMenu("帮助"); String str3[] = { "帮助...", "关于..." }; for (int i = 0; i < 2; i++) { subMenu3[i] = new JMenuItem(str3[i]); subMenu3[i].addActionListener(this); mainMenu3.add(subMenu3[i]); } menuBar.add(mainMenu3); String strToolBar[] = { "查询", "添加", "删除", "修改", "提交修改", "提交添加", "确认删除" }; for (int i = 0; i < 7; i++) { toolBarButton[i] = new JButton(strToolBar[i]); toolBarButton[i].setToolTipText(strTip[i]); toolBarButton[i].addActionListener(this); toolBar.add(toolBarButton[i]); } toolBar.setLocation(0, 0); toolBar.setSize(400, 30); add(toolBar); idL.setLocation(35, 40); idL.setSize(40, 20); add(idL); idT.setLocation(90, 40); idT.setSize(200, 20); add(idT); nameL.setLocation(35, 70); nameL.setSize(40, 20); add(nameL); nameT.setLocation(90, 70); nameT.setSize(200, 20); add(nameT); sexL.setLocation(35, 100); sexL.setSize(40, 20); add(sexL); sexT.setLocation(90, 100); sexT.setSize(200, 20); add(sexT); jlbirth.setLocation(35, 160); jlbirth.setSize(40, 20); add(jlbirth); jtbirth.setLocation(90, 160); jtbirth.setSize(200, 20); add(jtbirth); jladdr.setLocation(35, 190); jladdr.setSize(40, 20); add(jladdr); jtaddr.setLocation(90, 190); jtaddr.setSize(200, 20); add(jtaddr); JLabel information = new JLabel(""); information.setFont(new Font("宋体", Font.BOLD, 50)); information.setSize(380, 110); information.setLocation(10, 210); add(information); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 400); frame.setLocation(200, 200); frame.setVisible(true); conDB(); } // 以上是设置数据库面版、框架 // 以下是连接数据库 public Connection conDB() { Connection con = null; try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch (ClassNotFoundException e) { } try { con = DriverManager.getConnection("jdbc:odbc:mysql", "", ""); //数据源:mysql } catch (SQLException e) { JOptionPane.showMessageDialog(null, "数据库连接失败"); } return con; } // 以下是关闭数据库 public void closeDB() { try { pst.close(); conn.close(); } catch (SQLException e) { JOptionPane.showMessageDialog(null, "数据库关闭失败!"); } } // 以下是针对数据库的各种操作 public void actionPerformed(ActionEvent e) { conn=conDB(); // 查找功能的实现 if (e.getSource() == subMenu2[0] || e.getSource() == toolBarButton[0]) { String idid = JOptionPane.showInputDialog("请输入要查找的职工工号"); if (idid.trim() != "") { String strSQL = "select * from student where id =?" ; try { pst=conn.prepareStatement(strSQL); pst.setString(1, idid); rs=pst.executeQuery(); int count = 0; while (rs.next()) { id = rs.getString("id"); name = rs.getString("name"); address = rs.getString("address"); sex = rs.getString("sex"); birth=rs.getString("birthday"); count++; } if (count == 0) JOptionPane.showMessageDialog(null, "对不起,没有您要查找的职工!"); else { idT.setText(id); nameT.setText(name); sexT.setText(sex); jtaddr.setText(address); jtbirth.setText(birth); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "抱歉,程序出现异常!"); } } } if (e.getSource() == toolBarButton[6] || e.getSource() == subMenu2[6]) { if ((idT.getText().trim()).equals("") || (nameT.getText().trim()).equals("") || (sexT.getText().trim()).equals("") || (jtaddr.getText().trim()).equals("") || (jtbirth.getText().trim()).equals("")) { JOptionPane.showMessageDialog(null, "请点击删除记录按钮!"); return; } else { id = idT.getText(); String strSQL = "delete from student where id=?"; try { pst=conn.prepareStatement(strSQL); pst.setString(1, id); pst.executeUpdate(); } catch (Exception exx) { JOptionPane.showMessageDialog(null, "出错了!"); /* * idT.setText(""); nameT.setText(""); sexT.setText(""); * birthdayT.setText(""); departmentT.setText(""); */ return; } JOptionPane.showMessageDialog(null, "删除成功!"); } } if(e.getSource() ==subMenu3[0] )//帮助 { String introduce = "职工信息管理系统简介\n"+ "\n它可以查询、添加、删除、修改职工信息\n"; JOptionPane.showConfirmDialog(null, introduce, "功能介绍", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE); } if(e.getSource() ==subMenu3[1] )//关于 { String help = "职工信息管理系统 版本1.0\n操作系统:Windows 10 \n编译器:TextPad\n版权" + "所有: Jack魏 \n最终解释权归本人所有\n" + "授权人: Jack魏\n\n \nQQ:1960486253\n 博客网站: https://jackwei.blog.csdn.net/" + "\n课程设计: JAVA"; JOptionPane.showConfirmDialog(null, help, "关于", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE); } } }

测试结果:

进入编译环境,运行后进入主界面如图三所示

图三 主界面

点击“查询”按钮,蹦出对话框如图四所示

图四 查询界面

输入“001”后,点击确定按钮,输出界面如图五所示

图五 查询后的信息

点击修改按钮,出现如图六所示界面

图六 修改信息查询界面

输入工号“888”,并修改籍贯为徐州,出现图七界面所示

图七 修改籍贯信息

完成修改后选择查询,重新输入工号“888”,得到查询结果如图八所示

图八 修改后信息查询

点击删除按钮,输入工号 001,得到结果如图九所示

图九 删除界面

再次输入“666”,并且查询,得到图十所示

图十 查询图

点击“帮助”“关于”按钮,出现图十一所示

图十一 功能介绍、关于界面图

点击“添加”按钮,输入相关信息,然后点击“提交添加”,蹦出对话框,显示“添加成功”如图十二所示。

图十二 添加信息界面

再输入工号“888”,然后查到寻到界面如图十三所示。

图十三 查询之前输入界面

♻️ 资源

在这里插入图片描述

大小: 399KB ➡️ 资源下载:https://download.csdn.net/download/s1t16/87558648 注:如当前文章或代码侵犯了您的权益,请私信作者删除!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3