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

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.登录系统



2.主页面



3.部门管理



4.职位管理



5.员工管理


三、部分代码

======

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();

}

最后

分享一套我整理的面试干货,这份文档结合了我多年的面试官经验,站在面试官的角度来告诉你,面试官提的那些问题他最想听到你给他的回答是什么,分享出来帮助那些对前途感到迷茫的朋友。

面试经验技巧篇
  • 经验技巧1 如何巧妙地回答面试官的问题
  • 经验技巧2 如何回答技术性的问题
  • 经验技巧3 如何回答非技术性问题
  • 经验技巧4 如何回答快速估算类问题
  • 经验技巧5 如何回答算法设计问题
  • 经验技巧6 如何回答系统设计题
  • 经验技巧7 如何解决求职中的时间冲突问题
  • 经验技巧8 如果面试问题曾经遇见过,是否要告知面试官
  • 经验技巧9 在被企业拒绝后是否可以再申请
  • 经验技巧10 如何应对自己不会回答的问题
  • 经验技巧11 如何应对面试官的“激将法”语言
  • 经验技巧12 如何处理与面试官持不同观点这个问题
  • 经验技巧13 什么是职场暗语

面试真题篇
  • 真题详解1 某知名互联网下载服务提供商软件工程师笔试题
  • 真题详解2 某知名社交平台软件工程师笔试题
  • 真题详解3 某知名安全软件服务提供商软件工程师笔试题
  • 真题详解4 某知名互联网金融企业软件工程师笔试题
  • 真题详解5 某知名搜索引擎提供商软件工程师笔试题
  • 真题详解6 某初创公司软件工程师笔试题
  • 真题详解7 某知名游戏软件开发公司软件工程师笔试题
  • 真题详解8 某知名电子商务公司软件工程师笔试题
  • 真题详解9 某顶级生活消费类网站软件工程师笔试题
  • 真题详解10 某知名门户网站软件工程师笔试题
  • 真题详解11 某知名互联网金融企业软件工程师笔试题
  • 真题详解12 国内某知名网络设备提供商软件工程师笔试题
  • 真题详解13 国内某顶级手机制造商软件工程师笔试题
  • 真题详解14 某顶级大数据综合服务提供商软件工程师笔试题
  • 真题详解15 某著名社交类上市公司软件工程师笔试题
  • 真题详解16 某知名互联网公司软件工程师笔试题
  • 真题详解17 某知名网络安全公司校园招聘技术类笔试题
  • 真题详解18 某知名互联网游戏公司校园招聘运维开发岗笔试题

资料整理不易,点个关注再走吧

e.printStackTrace();

}

最后

分享一套我整理的面试干货,这份文档结合了我多年的面试官经验,站在面试官的角度来告诉你,面试官提的那些问题他最想听到你给他的回答是什么,分享出来帮助那些对前途感到迷茫的朋友。

面试经验技巧篇
  • 经验技巧1 如何巧妙地回答面试官的问题
  • 经验技巧2 如何回答技术性的问题
  • 经验技巧3 如何回答非技术性问题
  • 经验技巧4 如何回答快速估算类问题
  • 经验技巧5 如何回答算法设计问题
  • 经验技巧6 如何回答系统设计题
  • 经验技巧7 如何解决求职中的时间冲突问题
  • 经验技巧8 如果面试问题曾经遇见过,是否要告知面试官
  • 经验技巧9 在被企业拒绝后是否可以再申请
  • 经验技巧10 如何应对自己不会回答的问题
  • 经验技巧11 如何应对面试官的“激将法”语言
  • 经验技巧12 如何处理与面试官持不同观点这个问题
  • 经验技巧13 什么是职场暗语

[外链图片转存中…(img-K8xsir2H-1721133446278)]

面试真题篇
  • 真题详解1 某知名互联网下载服务提供商软件工程师笔试题
  • 真题详解2 某知名社交平台软件工程师笔试题
  • 真题详解3 某知名安全软件服务提供商软件工程师笔试题
  • 真题详解4 某知名互联网金融企业软件工程师笔试题
  • 真题详解5 某知名搜索引擎提供商软件工程师笔试题
  • 真题详解6 某初创公司软件工程师笔试题
  • 真题详解7 某知名游戏软件开发公司软件工程师笔试题
  • 真题详解8 某知名电子商务公司软件工程师笔试题
  • 真题详解9 某顶级生活消费类网站软件工程师笔试题
  • 真题详解10 某知名门户网站软件工程师笔试题
  • 真题详解11 某知名互联网金融企业软件工程师笔试题
  • 真题详解12 国内某知名网络设备提供商软件工程师笔试题
  • 真题详解13 国内某顶级手机制造商软件工程师笔试题
  • 真题详解14 某顶级大数据综合服务提供商软件工程师笔试题
  • 真题详解15 某著名社交类上市公司软件工程师笔试题
  • 真题详解16 某知名互联网公司软件工程师笔试题
  • 真题详解17 某知名网络安全公司校园招聘技术类笔试题
  • 真题详解18 某知名互联网游戏公司校园招聘运维开发岗笔试题

[外链图片转存中…(img-9NRKTZOx-1721133446279)]

资料整理不易,点个关注再走吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值