news 2026/7/31 12:08:43

Spring Boot + MySQL 企业部门员工管理系统(附完整源码)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring Boot + MySQL 企业部门员工管理系统(附完整源码)

🚀 Spring Boot + MySQL 企业部门员工管理系统(附完整源码)

💡 项目已打包成完整资源包,文末可下载!


📌 项目简介

本项目是一个基于Spring Boot 3 + MyBatis + MySQL的企业部门员工管理系统,提供完整的 RESTful API 接口,支持部门管理和员工管理的增删改查操作。

项目特点:

  • ✅ 代码规范、结构清晰、注释完整
  • ✅ 统一接口返回格式(Result<T>
  • ✅ 支持跨域请求
  • ✅ 开箱即用,一键启动
  • ✅ 适合毕业设计、课程作业、项目实战练手

🛠️ 技术栈

技术版本说明
Spring Boot3.2.0后端核心框架
MyBatis3.0.3ORM 数据访问层
MySQL8.0+关系型数据库
Lombok最新简化实体类代码
Maven3.9+项目构建工具
Java17编程语言

📁 项目结构

demo/ ├── src/main/java/com/yourname/deptemp/ │ ├── common/ │ │ └── Result.java # 统一返回结果 │ ├── controller/ │ │ ├── DeptController.java # 部门API控制器 │ │ └── EmpController.java # 员工API控制器 │ ├── entity/ │ │ ├── Dept.java # 部门实体 │ │ └── Emp.java # 员工实体 │ ├── mapper/ │ │ ├── DeptMapper.java # 部门数据访问层 │ │ └── EmpMapper.java # 员工数据访问层 │ ├── service/ │ │ ├── DeptService.java # 部门服务接口 │ │ ├── EmpService.java # 员工服务接口 │ │ └── impl/ │ │ ├── DeptServiceImpl.java # 部门服务实现 │ │ └── EmpServiceImpl.java # 员工服务实现 │ └── Application.java # 项目启动类 ├── src/main/resources/ │ └── application.yml # 配置文件 └── pom.xml # Maven依赖管理

🗄️ 数据库设计

表结构

部门表(dept)

字段类型说明
idint部门ID(主键,自增)
namevarchar(50)部门名称
locationvarchar(100)部门位置
create_timedatetime创建时间
update_timedatetime更新时间

员工表(emp)

字段类型说明
idint员工ID(主键,自增)
namevarchar(50)员工姓名
ageint年龄
gendervarchar(10)性别
dept_idint所属部门ID(外键)
create_timedatetime创建时间
update_timedatetime更新时间

📡 API 接口文档

部门管理接口

方法地址功能
GET/api/dept查询所有部门
GET/api/dept/{id}根据ID查询部门
POST/api/dept新增部门
PUT/api/dept修改部门
DELETE/api/dept/{id}删除部门

员工管理接口

方法地址功能
GET/api/emp查询所有员工
GET/api/emp/{id}根据ID查询员工
GET/api/emp/dept/{deptId}根据部门ID查询员工
POST/api/emp新增员工
PUT/api/emp修改员工
DELETE/api/emp/{id}删除员工

接口返回格式

{ "code": 200, "message": "操作成功", "data": [...] }
code说明
200操作成功
500操作失败

🔧 快速启动

1. 环境要求

  • JDK 17+

  • MySQL 8.0+

  • Maven 3.9+

2. 导入数据库

-- 创建数据库
CREATE DATABASE IF NOT EXISTS demo_db DEFAULT CHARSET utf8mb4;

USE demo_db;

-- 创建部门表
CREATE TABLE `dept` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '部门ID',
`name` varchar(50) NOT NULL COMMENT '部门名称',
`location` varchar(100) DEFAULT NULL COMMENT '部门位置',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表';

-- 插入测试数据
INSERT INTO `dept` (`name`, `location`) VALUES
('技术部', '北京'),
('市场部', '上海'),
('人事部', '深圳');

-- 创建员工表
CREATE TABLE `emp` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '员工ID',
`name` varchar(50) NOT NULL COMMENT '员工姓名',
`age` int DEFAULT NULL COMMENT '年龄',
`gender` varchar(10) DEFAULT NULL COMMENT '性别',
`dept_id` int DEFAULT NULL COMMENT '所属部门ID',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_dept_id` (`dept_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工表';

-- 插入测试数据
INSERT INTO `emp` (`name`, `age`, `gender`, `dept_id`) VALUES
('张三', 25, '男', 1),
('李四', 30, '女', 2),
('王五', 28, '男', 1);

3. 修改数据库配置

打开src/main/resources/application.yml,修改数据库密码:

spring:
datasource:
username: root
password: 你的MySQL密码

4. 启动项目

在终端中执行:

cd ~/IdeaProjects/demo
./mvnw clean spring-boot:run

5. 测试接口

打开浏览器访问:

http://localhost:8080/api/dept

如果看到部门列表的 JSON 数据,说明启动成功!

📷 运行效果

请求:

GET http://localhost:8080/api/dept

响应:

{
"code": 200,
"message": "操作成功",
"data": [
{
"id": 1,
"name": "技术部",
"location": "北京",
"createTime": "2026-07-30T12:58:23",
"updateTime": "2026-07-30T12:58:23"
}
]
}

💡 项目亮点

  1. 代码规范:结构清晰,分层明确

  2. 统一返回格式:所有接口返回统一的Result<T>格式

  3. 注解式SQL:使用 MyBatis 注解,无需 XML

  4. 开箱即用:导入数据库 → 修改密码 → 启动即可

  5. 适合教学:代码简洁,适合初学者学习 Spring Boot

📦 资源包内容

文件说明
完整源码Spring Boot + MyBatis 全部代码
SQL脚本建表语句 + 测试数据
配置文件application.yml(已配置好)

📥 下载方式

点击下方链接即可获取完整资源包!

[资源包下载链接]


🙏 支持与反馈

  • 购买后如有任何问题,请在评论区留言

  • 我会第一时间回复

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/31 12:06:23

Obsidian表格管理革命:告别Markdown限制,拥抱专业电子表格

Obsidian表格管理革命&#xff1a;告别Markdown限制&#xff0c;拥抱专业电子表格 【免费下载链接】obsidian-excel 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-excel 还在为Obsidian中简陋的Markdown表格功能而烦恼吗&#xff1f;数据整理、项目跟踪、财务…

作者头像 李华
网站建设 2026/7/31 12:03:18

c++入门——友元

友元 1.引入 在一个类中&#xff0c;我们用private和protected等访问限定符来封装成员&#xff0c;对外暴露接口&#xff0c;对内隐藏细节&#xff0c;但是这也同时增加了一些限制&#xff0c;在类外无法访问类内成员&#xff0c;而友元提供了一种突破类访问限定符封装的方式&a…

作者头像 李华
网站建设 2026/7/31 12:02:29

BetterGI终极指南:如何轻松实现原神全自动化游戏体验 [特殊字符]

BetterGI终极指南&#xff1a;如何轻松实现原神全自动化游戏体验 &#x1f3ae; 【免费下载链接】better-genshin-impact &#x1f4e6;BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 |…

作者头像 李华
网站建设 2026/7/31 12:00:55

三步快速获取百度文库纯净PDF:免费下载工具终极指南

三步快速获取百度文库纯净PDF&#xff1a;免费下载工具终极指南 【免费下载链接】baidu-wenku fetch the document for free 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wenku 还在为百度文库的下载限制而苦恼吗&#xff1f;想要轻松保存那些珍贵的学习资料和工…

作者头像 李华
网站建设 2026/7/31 11:59:53

Box64终极指南:在ARM64设备上运行x86程序的完整教程

Box64终极指南&#xff1a;在ARM64设备上运行x86程序的完整教程 【免费下载链接】box64 Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64, RV64 and LoongArch Linux devices 项目地址: https://gitcode.com/gh_mirrors/bo/box64 Box64是一款…

作者头像 李华
网站建设 2026/7/31 11:59:09

靠谱工厂的AI热成像检测机,如何选对才省心?

在工业自动化与智能制造成熟度不断提升的当下&#xff0c;热成像检测机已从传统红外测温设备&#xff0c;进化为一套融合AI视觉、大数据分析与边缘计算的复合型智能装备。工厂产线对温度敏感点的实时监测、设备诊断及质量管控需求日益精细&#xff0c;如何在众多品牌与型号中选…

作者头像 李华