乒乓球比赛管理系统

1. 系统简介

1.1 系统概述

乒乓球比赛管理系统是一个用于管理乒乓球运动员、赛事、比赛记录、排名积分及系统公告的Web应用。

1.2 功能模块

模块 功能
首页 查看公告、各项目排名TOP 3
著名运动员 运动员的增删改查、搜索
赛事管理 赛事的增删改查、比赛记录管理
排名管理 排名的增删改查、年份/项目筛选
赛事冠军 查看各赛事冠军榜

2. 快速开始

2.1 环境要求

  • 后端:JDK 1.8 + MySQL 8.0+

  • 前端:现代浏览器 (Chrome/Edge/Firefox)

2.2 启动步骤

步骤1:启动MySQL数据库
复制代码
-- 创建数据库
CREATE DATABASE pingpong;
-- 执行 schema.sql 初始化表结构
步骤2:启动后端服务
复制代码
cd backend
mvn spring-boot:run

后端启动成功后访问 http://localhost:8090

步骤3:打开前端页面

直接用浏览器打开 frontend/index.html


3. 功能操作指南

3.1 首页

3.1.1 查看公告

首页最上方显示最新公告列表,点击公告可查看详情。
首页界面信息展示 公告详情信息展示

3.1.2 添加公告
  1. 点击「+ 添加公告」按钮

  2. 填写公告标题、选择类型、填写内容

  3. 勾选「发布」使公告在前台可见

  4. 点击「保存」

点击公告添加按钮展示

3.1.3 查看排名

首页右侧显示各项目(男单、女单、男双、女双、混双、男团、女团)的实时排名TOP 3。
首页界面信息展示


3.2 著名运动员

3.2.1 查看运动员列表

进入「著名运动员」页面,以卡片形式展示所有运动员。
标题著名运动员首页信息展示

3.2.2 搜索运动员

在搜索框中输入姓名关键字,实时过滤运动员列表。

3.2.3 查看运动员详情

点击任意运动员卡片,显示详细信息:

  • 姓名、国家、年龄、性别

  • 排名积分、当前排名

运动员详情信息展示

3.2.4 添加运动员
  1. 点击「+ 添加运动员」按钮

  2. 填写信息(姓名必填,其他可选)

  3. 点击「保存」

添加运动员信息按钮展示

3.2.5 编辑运动员

在详情页点击「编辑」按钮,修改信息后保存。
编辑运动员信息按钮展示

3.2.6 删除运动员

在详情页点击「删除」按钮,确认后删除。


3.3 赛事管理

3.3.1 查看赛事列表

进入「赛事管理」页面,按年份分组显示所有赛事。
赛事管理信息展示

3.3.2 筛选赛事

选择年份下拉框,筛选特定年份的赛事。

3.3.3 添加赛事
  1. 点击「+ 添加赛事」按钮

  2. 填写赛事名称(必填)

  3. 填写年份、地点、开始/结束日期、描述

  4. 点击「保存」

添加赛事信息界面展示

3.3.4 查看比赛记录

点击任意赛事卡片,进入赛事详情页面,显示该赛事下的所有比赛记录。

比赛按项目类别(男单、女单等)分组显示。
比赛详情信息展示

3.3.5 添加比赛
  1. 在赛事详情页面点击「+ 添加比赛」

  2. 填写选手1信息(姓名、国家)

  3. 选择局数(3局2胜/5局3胜/7局4胜)

  4. 输入每局比分

  5. 填写选手2信息

  6. 选择比赛状态、项目类别、轮次、场馆、日期等

  7. 点击「保存」

添加比赛信息界面展示

3.3.6 比赛状态说明
状态 含义
scheduled 已安排
ongoing 进行中
completed 已完成
cancelled 已取消

3.4 排名管理

3.4.1 查看排名

进入「排名管理」页面,默认显示当前年份的排名。
排名管理界面展示

3.4.2 筛选排名
  1. 选择年份

  2. 选择项目类别(男单/女单/男双/女双/混双/男团/女团)

3.4.3 添加排名
  1. 点击「+ 添加排名」按钮

  2. 选择年份、项目类别

  3. 输入排名(数字)

  4. 填写运动员姓名、国家、积分

  5. 点击「保存」

添加排名信息界面展示


3.5 赛事冠军

5.1 查看赛事列表

进入「赛事冠军」页面,显示有比赛记录的赛事列表。
赛事冠军首页展示

5.2 查看冠军详情

点击赛事,显示该赛事各项目的冠军信息。
具体赛事界面信息展示


4. 常见问题

4.1 后端无法启动

问题:端口8090被占用

解决 :修改 application.yml 中的端口号,或关闭占用端口的程序。

4.2 前端无法连接后端

问题:跨域或网络问题

解决

  1. 确认后端服务已启动

  2. 检查 index.html 中的 API_BASE 配置是否正确

4.3 数据库连接失败

问题:MySQL用户名或密码错误

解决 :修改 application.yml 中的数据库配置

4.4 比赛比分如何填写

比赛采用JSON格式存储,每局比分格式为:

复制代码
[
  {"p1": 11, "p2": 8},
  {"p1": 9, "p2": 11}
]

前端已自动处理,填写数字即可。

4.5 如何清空数据

直接操作数据库:

复制代码
USE pingpong;
DELETE FROM matches;
DELETE FROM competitions;
DELETE FROM players;
DELETE FROM announcements;
DELETE FROM player_rankings;

代码下载地址:

https://github.com/zcjter/pingpong-web

附录

附录A:技术栈

组件 版本
Spring Boot 2.7.14
Spring Data JPA -
MySQL 8.0+
Element UI -
JDK 1.8

附录B:默认端口

服务 端口
后端API 8090
前端 本地文件

附录C:支持的项目类别

  • 男单、女单

  • 男双、女双、混双

  • 男团、女团

相关推荐
Ulyanov12 分钟前
构建企业级雷达电子战仿真引擎的工程化基础 第一篇:CI/CD流水线与自动化测试体系
python·ci/cd·架构·系统仿真·雷达电子战仿真
数据库小组7 小时前
2026 年,MySQL 到 SelectDB 同步为何更关注实时、可观测与可校验?
数据库·mysql·数据库管理工具·数据同步·ninedata·selectdb·迁移工具
SHoM SSER8 小时前
MySQL 数据库连接池爆满问题排查与解决
android·数据库·mysql
IAUTOMOBILE9 小时前
Python 流程控制与函数定义:从调试现场到工程实践
java·前端·python
qq_283720059 小时前
MySQL技巧(十四): 连接数过多 (Too many connections):原因 + 排查 + 终极解决方案
mysql·连接池·性能·异常
lifewange9 小时前
java连接Mysql数据库
java·数据库·mysql
TT_441910 小时前
python程序实现图片截图溯源功能
开发语言·python
不写八个11 小时前
PHP教程004:php链接mysql数据库
数据库·mysql·php
小陈的进阶之路11 小时前
logging 日志模块笔记
python
cqbelt11 小时前
Python 并发编程实战学习笔记
笔记·python·学习