1. 项目背景与核心痛点
每年毕业季,高校教务处和学生都要面临志愿填报的"三重折磨":学生填写的纸质表格字迹潦草难以辨认,老师用Excel手工汇总时公式容易出错,双方来回确认信息动辄耗费一周时间。我曾亲眼见过某高校因为志愿表上一个数字"7"写得像"1",导致整个批次的录取结果需要重新核定。这种低效的原始操作模式,正是我们开发这套在线填报系统的初衷。
系统采用SpringBoot+Vue前后端分离架构,MySQL作为数据存储引擎,实现了从"成绩导入→院校筛选→志愿提交→录取结果生成"的全流程数字化管理。实测表明,传统需要3-5天完成的志愿流程,现在学生端3分钟即可完成填报,管理员端1分钟生成录取结果,错误率从原来的8%降至0.2%以下。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计解析
2.1 技术选型决策依据
选择SpringBoot作为后端框架主要基于三点考量:
- 快速启动特性:毕业设计周期有限,SpringBoot的自动配置和起步依赖能节省约40%的基础编码时间
- 内嵌Tomcat:避免额外配置Servlet容器,打包后单个JAR文件即可部署
- 生态整合:通过Spring Data JPA可快速实现MySQL操作,配合Lombok减少样板代码
前端选用Vue.js而非React/Angular的决策点:
- 学习曲线平缓,适合学生团队快速上手
- 组件化开发模式与后端接口天然契合
- Element UI提供现成的表单验证组件,特别适合填报类场景
2.2 数据库设计关键策略
院校信息表采用纵向分表设计:
sql复制CREATE TABLE `college_info` (
`id` int NOT NULL AUTO_INCREMENT,
`code` varchar(10) COLLATE utf8mb4_bin NOT NULL COMMENT '院校代码',
`name` varchar(50) COLLATE utf8mb4_bin NOT NULL,
`province` varchar(20) COLLATE utf8mb4_bin NOT NULL,
`batch_id` int NOT NULL COMMENT '关联录取批次',
`is_key` tinyint(1) DEFAULT '
