Spring Boot + MySQL 企业部门员工管理系统(附完整源码)
🚀 Spring Boot + MySQL 企业部门员工管理系统(附完整源码)
💡 项目已打包成完整资源包,文末可下载!
📌 项目简介
本项目是一个基于Spring Boot 3 + MyBatis + MySQL的企业部门员工管理系统,提供完整的 RESTful API 接口,支持部门管理和员工管理的增删改查操作。
项目特点:
- ✅ 代码规范、结构清晰、注释完整
- ✅ 统一接口返回格式(
Result<T>) - ✅ 支持跨域请求
- ✅ 开箱即用,一键启动
- ✅ 适合毕业设计、课程作业、项目实战练手
🛠️ 技术栈
| 技术 | 版本 | 说明 |
|---|---|---|
| Spring Boot | 3.2.0 | 后端核心框架 |
| MyBatis | 3.0.3 | ORM 数据访问层 |
| MySQL | 8.0+ | 关系型数据库 |
| Lombok | 最新 | 简化实体类代码 |
| Maven | 3.9+ | 项目构建工具 |
| Java | 17 | 编程语言 |
📁 项目结构
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)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 部门ID(主键,自增) |
| name | varchar(50) | 部门名称 |
| location | varchar(100) | 部门位置 |
| create_time | datetime | 创建时间 |
| update_time | datetime | 更新时间 |
员工表(emp)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 员工ID(主键,自增) |
| name | varchar(50) | 员工姓名 |
| age | int | 年龄 |
| gender | varchar(10) | 性别 |
| dept_id | int | 所属部门ID(外键) |
| create_time | datetime | 创建时间 |
| update_time | datetime | 更新时间 |
📡 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"
}
]
}
💡 项目亮点
代码规范:结构清晰,分层明确
统一返回格式:所有接口返回统一的
Result<T>格式注解式SQL:使用 MyBatis 注解,无需 XML
开箱即用:导入数据库 → 修改密码 → 启动即可
适合教学:代码简洁,适合初学者学习 Spring Boot
📦 资源包内容
| 文件 | 说明 |
|---|---|
| 完整源码 | Spring Boot + MyBatis 全部代码 |
| SQL脚本 | 建表语句 + 测试数据 |
| 配置文件 | application.yml(已配置好) |
📥 下载方式
点击下方链接即可获取完整资源包!
[资源包下载链接]
🙏 支持与反馈
购买后如有任何问题,请在评论区留言
我会第一时间回复
