# thesis-advanced
**Repository Path**: haobinjun/thesis-advanced
## Basic Information
- **Project Name**: thesis-advanced
- **Description**: 高级毕设管理系统,采用项目模块化管理
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-01-20
- **Last Updated**: 2026-01-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 毕业设计管理平台
> 基于 Maven + Servlet + MyBatis + MySQL + Axios 的前后端分离项目
[]()
[]()
[]()
[](#)
## 项目特点
- 📊 **Dashboard首页** - 统计卡片展示数据概览
- 🎨 **深蓝科技风UI** - 左侧侧边栏 + 模态弹窗
- 🔍 **搜索过滤** - 支持多条件筛选
- ✅ **批量操作** - 批量删除功能
- 🔐 **审核流程** - 学生选课需审核
- 📈 **进度管理** - 选题→开题→中期→答辩
---
## 📦 环境准备
### 一键安装所有工具(Windows 10/11)
以**管理员身份**打开 PowerShell 或命令提示符,依次执行以下命令:
```bash
# 1. 安装 JDK 8
winget install -e --id EclipseAdoptium.Temurin.8.JDK
# 2. 安装 Git
winget install Git.Git
# 3. 安装 MySQL(会下载 MySQL Installer)
winget install -e --id Oracle.MySQL
```
> **注意**: Maven 暂不支持 winget 安装,请使用下面的手动安装命令。
---
### 手动安装命令
#### 1️⃣ 安装 JDK 8
**方式一:使用 winget(推荐)**
```bash
winget install -e --id EclipseAdoptium.Temurin.8.JDK
```
**方式二:使用 PowerShell 直接下载**
```powershell
# 下载 JDK 8
Invoke-WebRequest -Uri "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u432-b06/OpenJDK8U-jdk_x64_windows_hotspot_8u432b06.msi" -OutFile "$env:TEMP\jdk8.msi"
# 安装
Start-Process msiexec.exe -ArgumentList "/i $env:TEMP\jdk8.msi /qn" -Wait
```
**验证安装:**
```bash
java -version
```
---
#### 2️⃣ 安装 Maven
**方式一:使用 Chocolatey**
```bash
# 先安装 Chocolatey(如果没有)
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# 安装 Maven
choco install maven -y
```
**方式二:使用 Scoop**
```bash
# 先安装 Scoop(如果没有)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
# 安装 Maven
scoop install maven
```
**方式三:手动安装(PowerShell 脚本)**
```powershell
# 创建 Maven 目录
$MavenHome = "C:\Maven"
New-Item -ItemType Directory -Force -Path $MavenHome
# 下载 Maven 3.9.12
Invoke-WebRequest -Uri "https://dlcdn.apache.org/maven/maven-3/3.9.12/binaries/apache-maven-3.9.12-bin.zip" -OutFile "$MavenHome\maven.zip"
# 解压
Expand-Archive -Path "$MavenHome\maven.zip" -DestinationPath $MavenHome -Force
# 添加到环境变量
$Env:MAVEN_HOME = "$MavenHome\apache-maven-3.9.12"
$Env:PATH += ";$Env:MAVEN_HOME\bin"
# 永久添加到系统 PATH
[Environment]::SetEnvironmentVariable("MAVEN_HOME", "$MavenHome\apache-maven-3.9.12", "Machine")
[Environment]::SetEnvironmentVariable("PATH", [Environment]::GetEnvironmentVariable("PATH", "Machine") + ";$MavenHome\apache-maven-3.9.12\bin", "Machine")
```
**验证安装:**
```bash
mvn -version
```
---
#### 3️⃣ 安装 MySQL
**方式一:使用 winget**
```bash
winget install -e --id Oracle.MySQL
```
> 安装完成后,运行 MySQL Installer 选择 **MySQL Server 8.0** 进行安装
**方式二:使用 Chocolatey**
```bash
choco install mysql -y
```
**方式三:手动下载安装(PowerShell 脚本)**
```powershell
# 下载 MySQL Installer
Invoke-WebRequest -Uri "https://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-8.0.44.0.msi" -OutFile "$env:TEMP\mysql-installer.msi"
# 运行安装器
Start-Process msiexec.exe -ArgumentList "/i $env:TEMP\mysql-installer.msi" -Wait
```
**验证安装:**
```bash
mysql --version
```
---
#### 4️⃣ 安装 Git(可选)
```bash
winget install Git.Git
```
**验证安装:**
```bash
git --version
```
---
## 🚀 快速开始
### 1️⃣ 获取项目
**方式一:从 Gitee 克隆**
```bash
git clone https://gitee.com/你的用户名/毕业设计管理平台.git
cd 毕业设计管理平台
```
**方式二:下载 ZIP**
- 访问项目 Gitee 页面
- 点击 **"克隆/下载"** → **"下载ZIP"**
- 解压到本地目录
### 2️⃣ 配置数据库密码
编辑文件:`project-admin/src/main/resources/db.properties`
```properties
db.password=你的MySQL密码
```
### 3️⃣ 初始化数据库
**Windows:**
```bash
mysql -u root -p < project-admin\src\main\resources\schema.sql
```
**或直接双击运行:** `init-database.bat`
### 4️⃣ 启动项目
**方式一:使用启动脚本**
```bash
start.bat
```
**方式二:使用 Maven**
```bash
cd project-admin
mvn jetty:run
```
### 5️⃣ 访问系统
浏览器打开:**http://localhost:8082/graduation/static/index.html**
---
## 📁 项目结构
```
毕业设计管理平台/
├── README.md # 项目文档
├── start.bat # 启动脚本
├── init-database.bat # 数据库初始化脚本
├── check-config.bat # 配置检查脚本
├── pom.xml # Maven根配置
└── project-admin/ # 主项目模块
├── pom.xml # Maven项目配置
└── src/main/
├── java/ # Java源码
│ └── com/project/
│ ├── entity/ # 实体类
│ ├── dao/ # 数据访问层
│ ├── service/ # 业务逻辑层
│ ├── servlet/ # 控制层
│ └── util/ # 工具类
├── resources/ # 配置文件
│ ├── mybatis-config.xml # MyBatis配置
│ ├── schema.sql # 数据库初始化脚本
│ ├── db.properties # 数据库配置
│ └── mapper/ # MyBatis映射文件
└── webapp/ # Web应用目录
├── WEB-INF/
│ └── web.xml # Web应用配置
└── static/
├── css/
│ └── style.css # 样式文件
├── js/
│ ├── api.js # API封装
│ ├── project.js # 课题管理
│ ├── student.js # 学生管理
│ └── enrollment.js # 选课管理
└── *.html # HTML页面
```
---
## 🔐 数据库表结构
| 表名 | 说明 | 主要字段 |
|------|------|---------|
| `project` | 课题表 | id, title, description, category, difficulty, capacity, enrolled, status |
| `student_info` | 学生表 | id, student_id, name, class_name, major, phone, email |
| `enrollment` | 选课记录表 | id, project_id, student_id, status, progress, enroll_time |
---
## 🚀 功能模块
| 模块 | 功能 | 说明 |
|------|------|------|
| **Dashboard** | 数据统计 | 课题总数、开放中课题、已选课人数、学生总数 |
| **课题管理** | 增删改查 | 课题的添加、编辑、删除、批量删除、搜索过滤 |
| **学生管理** | 学生信息管理 | 学生信息的添加、编辑、删除、按班级搜索 |
| **选课管理** | 选课与审核 | 学生选课、教师审核(待审核/已通过/已拒绝)、进度管理(选题→开题→中期→答辩) |
---
## 📝 配置说明
### ⚠️ 必须修改的配置
**数据库密码配置**
编辑文件:`project-admin/src/main/resources/db.properties`
```properties
# 请修改为你的MySQL root用户密码
db.password=你的MySQL密码
```
### 📌 默认配置
| 配置项 | 默认值 | 说明 |
|--------|--------|------|
| 服务端口 | 8082 | 可在 `project-admin/pom.xml` 中修改 |
| 数据库名 | graduation_db | 数据库名称 |
| 数据库用户 | root | 使用root用户连接 |
| 测试数据 | 8个课题 + 10个学生 | 首次初始化自动导入 |
---
## ⚡ 常见问题
1. 端口8082被占用怎么办?
编辑 `project-admin/pom.xml`,找到并修改端口号:
```xml
2. Maven依赖下载速度慢?
配置阿里云镜像加速:
1. 打开 Maven 配置文件:`C:\Maven\conf\settings.xml` (或你的Maven安装目录)
2. 在 `3. 数据库连接失败?
请检查以下几点:
1. **MySQL服务是否启动**
```bash
# Windows查看服务
services.msc
# 找到 MySQL80 服务并启动
```
2. **密码是否正确**
- 检查 `db.properties` 中的密码是否与MySQL root密码一致
3. **数据库是否创建**
```bash
mysql -u root -p
# 输入密码后执行:
SHOW DATABASES;
# 应该能看到 graduation_db
```
4. 找不到或无法加载主类?
这是Maven依赖未下载完整,执行:
```bash
cd project-admin
mvn clean install
```
5. winget 命令不可用?
更新 Windows Package Manager:
```bash
winget upgrade
```
或访问 [winget 官网](https://learn.microsoft.com/zh-cn/windows/package-manager/) 安装最新版本。