Eclipse+Java+Swing+Mysql实现员工信息管理系统

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: Eclipse+Java+Swing+Mysql实现员工信息管理系统

一、系统介绍


1.开发环境


开发工具:Eclipse2021


JDK版本:jdk1.8


Mysql版本:8.0.13


2.技术选型


Java+Swing+Mysql


3.系统功能


1.管理员登录系统;


2.管理员查询员工信息,增加员工信息,修改员工信息,删除员工信息;


3.管理员查询部门信息,增加部门信息,修改部门信息,删除部门信息;


4.管理员查询职务信息,增加职务信息,修改职务信息,删除职务信息;


4.数据库

/*
 Navicat Premium Data Transfer
 Source Server         : MySQL
 Source Server Type    : MySQL
 Source Server Version : 80013
 Source Host           : 127.0.0.1:3306
 Source Schema         : swing_staff_management
 Target Server Type    : MySQL
 Target Server Version : 80013
 File Encoding         : 65001
 Date: 07/01/2022 21:39:20
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for dept
-- ----------------------------
DROP TABLE IF EXISTS `dept`;
CREATE TABLE `dept`  (
  `num` int(11) NULL DEFAULT NULL,
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '部门名称',
  `address` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of dept
-- ----------------------------
INSERT INTO `dept` VALUES (101, '大数据部', '一楼');
INSERT INTO `dept` VALUES (102, '人力行政部', '二楼');
INSERT INTO `dept` VALUES (103, '后勤部', '三楼');
-- ----------------------------
-- Table structure for duty
-- ----------------------------
DROP TABLE IF EXISTS `duty`;
CREATE TABLE `duty`  (
  `num` int(4) NOT NULL COMMENT '职务名称',
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `low` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `high` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of duty
-- ----------------------------
INSERT INTO `duty` VALUES (111, '职员', '10000', '20000');
INSERT INTO `duty` VALUES (112, '科长', '20000', '40000');
INSERT INTO `duty` VALUES (113, '部长', '40000', '60000');
INSERT INTO `duty` VALUES (114, '总监', '60000', '80000');
INSERT INTO `duty` VALUES (115, '总经理', '100000', '150000');
-- ----------------------------
-- Table structure for login
-- ----------------------------
DROP TABLE IF EXISTS `login`;
CREATE TABLE `login`  (
  `id` decimal(4, 0) NOT NULL,
  `username` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of login
-- ----------------------------
INSERT INTO `login` VALUES (1, 'admin', 'admin');
-- ----------------------------
-- Table structure for staff
-- ----------------------------
DROP TABLE IF EXISTS `staff`;
CREATE TABLE `staff`  (
  `num` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `sex` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `salary` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dept` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `duty` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`num`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of staff
-- ----------------------------
INSERT INTO `staff` VALUES ('1001', '张三', '男', '50000', '13332259632', '大数据部', '部长');
INSERT INTO `staff` VALUES ('1002', '李四', '男', '30000', '13332259632', '大数据部', '科长');
INSERT INTO `staff` VALUES ('1003', '王五', '男', '20000', '13332259632', '后勤部', '职员');
SET FOREIGN_KEY_CHECKS = 1;


二、系统展示


1.登录系统


fa330f82385b4262a5e1e579ace1dbac.jpg


2.主页面


d0e3d713bce740dfb1ef9027e23955d2.jpg


3.部门管理


c2a2ab28c3b5416e8728c172de213fce.jpg


4.职位管理


15fb8bd5f16743f5a8178e961e8f5bb1.jpg


5.员工管理


ded98287b6024cf0a9e66ca4bc9226c4.jpg


三、部分代码


AdminDao.java

package dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import utils.DBUtil;
import vo.Admin;
public class AdminDao {
  // 判断有无此用户
  public static  boolean isUser(Admin admin) {
    String sql = "select * from login where username=? and  password = ?";
    ResultSet rs;
    // 定义数组用来存放账号和密码
    String[] adminString = new String[] {admin.getUserName(), admin.getPassword()};
    try {
      rs = DBUtil.execQuery(sql, adminString);
      if (rs.next())
        return true;
      else
        return false;
    } catch (SQLException e) {
      e.printStackTrace();
      return false;
    } finally {
      DBUtil.close();
    }
  }
  // 测试
  public static void main(String[] args) {
    Admin admin = new Admin();
    admin.setUserName("admin");
    admin.setPassword("admin");
    boolean flag = isUser(admin);
    System.out.println(flag);
  }
}

DeptDao.java

package dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import utils.DBUtil;
import utils.SqlHelper;
import vo.Dept;
/**
 * 
 * 部门管理
 *
 */
public class DeptDao {
  static public int update(Dept dept, int flag) throws SQLException {
    int result = -1;
    String sqlCondition[] = null;
    try {
      switch (flag) {
      case SqlHelper.INSERT:
        sqlCondition = new String[] { dept.getNum(), dept.getName(), dept.getAddress() };
        break;
      case SqlHelper.DELETE:
        sqlCondition = new String[] { dept.getNum() };
        break;
      case SqlHelper.UPDATE:
        sqlCondition = new String[] { dept.getName(), dept.getAddress(), dept.getNum() };
        break;
      }
      result = DBUtil.execUpdate(SqlHelper.DeptSqls[flag], sqlCondition);
      return result;
    } catch (SQLException e) {
    } finally {
      DBUtil.close();
    }
    return result;
  }
  static public Dept query(final Dept dept) throws SQLException {
    ResultSet rs;
    try {
      rs = DBUtil.execQuery("select * from dept where num=?", new String[] { dept.getNum() });
      if (rs.next()) {
        dept.setName(rs.getString("name"));
        dept.setAddress(rs.getString("address"));
        System.out.println("查到该数据");
      } else {
        System.out.println("没有查到该数据");
        return null;
      }
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      return null;
    } finally {
      DBUtil.close();
    }
    return dept;
  }
}

DutyDao.java

package dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import utils.DBUtil;
import utils.SqlHelper;
import vo.Duty;
/**
 * 
 * 职务管理
 *
 */
public class DutyDao {
  static public int update(Duty duty, int flag) throws SQLException {
    int result = -1;
    String sqlCondition[] = null;
    try {
      switch (flag) {
      case SqlHelper.INSERT:
        sqlCondition = new String[] { duty.getNum(), duty.getName(), duty.getLow(), duty.getHigh() };
        break;
      case SqlHelper.DELETE:
        sqlCondition = new String[] { duty.getNum() };
        break;
      case SqlHelper.UPDATE:
        sqlCondition = new String[] { duty.getName(), duty.getLow(), duty.getHigh(), duty.getNum() };
        break;
      }
      result = DBUtil.execUpdate(SqlHelper.DutySqls[flag], sqlCondition);
      return result;
    } catch (SQLException e) {
    } finally {
      DBUtil.close();
    }
    return result;
  }
  static public Duty query(final Duty duty) throws SQLException {
    ResultSet rs;
    try {
      rs = DBUtil.execQuery("select * from duty where num=?", new String[] { duty.getNum() });
      if (rs.next()) {
        duty.setNum(rs.getString("num"));
        duty.setName(rs.getString("name"));
        duty.setLow(rs.getString("low"));
        duty.setHigh(rs.getString("high"));
        System.out.println("查到该数据");
      } else {
        System.out.println("没有查到该数据");
        return null;
      }
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      return null;
    } finally {
      DBUtil.close();
    }
    return duty;
  }
}

StaffDao.java

package dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import utils.DBUtil;
import utils.SqlHelper;
import vo.Staff;
/**
 * 
 * 职员管理
 *
 */
public class StaffDao {
  static public int update(Staff staff, int flag) throws SQLException {
    int result = -1;
    String sqlCondition[] = null;
    try {
      switch (flag) {
      case SqlHelper.INSERT:
        sqlCondition = new String[] { staff.getNum(), staff.getName(),
            staff.getSex(), staff.getSalary(), staff.getPhone(),
            staff.getDept(), staff.getDuty() };
        break;
      case SqlHelper.DELETE:
        sqlCondition = new String[] { staff.getNum() };
        break;
      case SqlHelper.UPDATE:
        sqlCondition = new String[] { staff.getName(), staff.getSex(),
            staff.getSalary(), staff.getPhone(), staff.getDept(),
            staff.getDuty(), staff.getNum() };
        break;
      }
      result = DBUtil.execUpdate(SqlHelper.StaffSqls[flag],
          sqlCondition);
      return result;
    } catch (SQLException e) {
    } finally {
      DBUtil.close();
    }
    return result;
  }
  static public Staff query(final Staff staff) throws SQLException {
    ResultSet rs;
    try {
      rs = DBUtil.execQuery("select * from staff where num=?",
          new String[] { staff.getNum() });
      if (rs.next()) {
        staff.setNum(rs.getString("num"));
        staff.setName(rs.getString("name"));
        staff.setSex(rs.getString("sex"));
        staff.setSalary(rs.getString("salary"));
        staff.setPhone(rs.getString("phone"));
        staff.setDept(rs.getString("dept"));
        staff.setDuty(rs.getString("duty"));
        System.out.println("查到该数据" + staff.getNum());
      } else {
        System.out.println("没有查到该数据");
        return null;
      }
    } catch (SQLException e) {
      e.printStackTrace();
      return null;
    } finally {
      DBUtil.close();
    }
    return staff;
  }
  static public ResultSet checkSalary(Staff staff) {
    ResultSet dutyRs = null;
    try {
      dutyRs = DBUtil.execQuery("select * from duty where name=?",
          new String[] { staff.getDuty() });
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return dutyRs;
  }
  static public ResultSet checkDept(Staff staff) {
    ResultSet dutyRs = null;
    try {
      dutyRs = DBUtil.execQuery("select name from dept where name=?",
          new String[] { staff.getDept() });
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return dutyRs;
  }
  static public ResultSet checkDuty(Staff staff) {
    ResultSet dutyRs = null;
    try {
      dutyRs = DBUtil.execQuery("select name from duty where name=?",
          new String[] { staff.getDuty() });
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return dutyRs;
  }
}


四、其他


1.更多系统


JavaSwing系统系列实现


Java+Swing实现斗地主游戏


Java+Swing实现图书管理系统


Java+Swing实现医院管理系统


Java+Swing实现考试管理系统


Java+Swing实现酒店管理系统


Java+Swing实现超市管理系统


Java+Swing实现电影购票系统


Java+Swing实现仓库管理系统-1


Java+Swing实现仓库管理系统-2


Java+Swing实现进销存管理系统


Java+Swing实现自助取款机系统


Java+Swing实现通讯录管理系统


Java+Swing实现停车场管理系统


Java+Swing实现学生信息管理系统


Java+Swing实现员工工资管理系统


Java+Swing实现学生宿舍管理系统


Java+Swing实现学生选课管理系统


Java+Swing实现学生成绩管理系统


Java+Swing实现学校教材管理系统


Java+Swing实现学校教务管理系统


Java+Swing实现企业人事管理系统


Java+Swing实现电子相册管理系统


Java+Swing实现超市管理系统-TXT存储数据


Java+Swing实现自助取款机系统-TXT存储数据


Java+Swing实现宠物商店管理系统-TXT存储数据


Java+JSP系统系列实现

Java+JSP实现学生图书管理系统


Java+JSP实现学生信息管理系统


Java+JSP实现用户信息管理系统


Java+Servlet系统系列实现

Java+Servlet+JSP实现航空订票系统


Java+Servlet+JSP实现新闻发布系统


Java+Servlet+JSP学生宿舍管理系统


Java+Servlet+JSP实现图书管理系统


Java+Servlet+JSP实现停车场管理系统


Java+Servlet+JSP实现房屋租赁管理系统


Java+Servlet+JSP实现学生信息管理系统


Java+Servlet+JSP实现学生选课管理系统


Java+Servlet+JSPl实现学生选课签到系统


Java+Servlet+JSP实现宠物诊所管理系统


Java+Servlet+JSP实现学生成绩管理系统-1


Java+Servlet+JSP实现学生成绩管理系统-2


Java+SSM系统系列实现

Java+SSM+JSP实现图书管理系统


Java+SSM+JSP实现超市订单系统


Java+SSM+JSP实现网上考试系统


Java+SSM+JSP实现宠物商城系统


Java+SSM+Layui实现学生成绩管理系统


Java+SSM+Bootstrap实现学生信息管理系统


Java+SSH系统系列实现

Java+SSH+JSP实现在线考试系统


Java+SSH+JSP实现医院在线挂号系统


Java+Springboot系统系列实现

Java+Springboot+H-ui+Maven实现营销管理系统


Java+Springboot+Bootstrap+Maven实现网上商城系统


Java+Springboot+Bootstrap+Maven实现景区旅游管理系统


1.更多JavaWeb系统请关注专栏。


https://blog.csdn.net/helongqiang/category_10020130.html

https://blog.csdn.net/helongqiang/category_10020130.html


2.更多JavaSwing系统请关注专栏。


https://blog.csdn.net/helongqiang/category_6229101.html

https://blog.csdn.net/helongqiang/category_6229101.html


2.源码下载

Java+Swing+Mysql实现员工信息管理系统


3.运行项目

注意员工编号为4位数,职务和部门编号为3位数。管理员账号和密码都为admin。


请点击以下链接,部署你的项目。


Eclipse如何导入JavaSwing项目超详细图文教程


Eclipse如何导入JavaSwing项目超详细视频教程


4.备注

如有侵权请联系我删除。


5.支持博主

如果您觉得此文对您有帮助,请点赞加关注加收藏。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
22天前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
66 13
|
3月前
|
人工智能 Java 关系型数据库
Java的时间处理与Mysql的时间查询
本文总结了Java中时间与日历的常用操作,包括时间的转换、格式化、日期加减及比较,并介绍了MySQL中按天、周、月、季度和年进行时间范围查询的方法,适用于日常开发中的时间处理需求。
|
5月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
6月前
|
存储 机器学习/深度学习 监控
如何监控员工的电脑——基于滑动时间窗口的Java事件聚合算法实现探析​
在企业管理场景中,如何监控员工的电脑操作行为是一个涉及效率与合规性的重要课题。传统方法依赖日志采集或屏幕截图,但数据量庞大且实时性不足。本文提出一种基于滑动时间窗口的事件聚合算法,通过Java语言实现高效、低资源占用的监控逻辑,为如何监控员工的电脑提供一种轻量化解决方案。
131 3
|
8月前
|
存储 Java 关系型数据库
java调用mysql存储过程
在 Java 中调用 MySQL 存储过程主要借助 JDBC(Java Database Connectivity)。其核心原理是通过 JDBC 与 MySQL 建立连接,调用存储过程并处理结果。具体步骤包括:加载 JDBC 驱动、建立数据库连接、创建 CallableStatement 对象、设置存储过程参数并执行调用。此过程实现了 Java 程序与 MySQL 数据库的高效交互。
|
13天前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
48 0
|
26天前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
59 16
|
2月前
|
缓存 并行计算 安全
关于Java多线程详解
本文深入讲解Java多线程编程,涵盖基础概念、线程创建与管理、同步机制、并发工具类、线程池、线程安全集合、实战案例及常见问题解决方案,助你掌握高性能并发编程技巧,应对多线程开发中的挑战。
|
2月前
|
数据采集 存储 前端开发
Java爬虫性能优化:多线程抓取JSP动态数据实践
Java爬虫性能优化:多线程抓取JSP动态数据实践

推荐镜像

更多