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

Spring Boot + MySQL 企业部门员工管理系统(附完整源码)
Spring Boot MySQL 企业部门员工管理系统附完整源码 项目已打包成完整资源包文末可下载 项目简介本项目是一个基于Spring Boot 3 MyBatis MySQL的企业部门员工管理系统提供完整的 RESTful API 接口支持部门管理和员工管理的增删改查操作。项目特点✅ 代码规范、结构清晰、注释完整✅ 统一接口返回格式ResultT✅ 支持跨域请求✅ 开箱即用一键启动✅ 适合毕业设计、课程作业、项目实战练手️ 技术栈技术版本说明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 17MySQL 8.0Maven 3.92. 导入数据库-- 创建数据库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)) ENGINEInnoDB DEFAULT CHARSETutf8mb4 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)) ENGINEInnoDB DEFAULT CHARSETutf8mb4 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: rootpassword: 你的MySQL密码4. 启动项目在终端中执行cd ~/IdeaProjects/demo./mvnw clean spring-boot:run5. 测试接口打开浏览器访问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}]} 项目亮点代码规范结构清晰分层明确统一返回格式所有接口返回统一的ResultT格式注解式SQL使用 MyBatis 注解无需 XML开箱即用导入数据库 → 修改密码 → 启动即可适合教学代码简洁适合初学者学习 Spring Boot 资源包内容文件说明完整源码Spring Boot MyBatis 全部代码SQL脚本建表语句 测试数据配置文件application.yml已配置好 下载方式点击下方链接即可获取完整资源包[资源包下载链接] 支持与反馈购买后如有任何问题请在评论区留言我会第一时间回复