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)]
资料整理不易,点个关注再走吧