乒乓球比赛管理系统

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:支持的项目类别

  • 男单、女单

  • 男双、女双、混双

  • 男团、女团

相关推荐
问天_观心3 小时前
大模型微调学习(二)
人工智能·python·深度学习·学习·语言模型·transformer
洋洋不叫杨杨3 小时前
揭秘当下知名的SEO优化渠道,你知道几个?
大数据·python
阿童木写作3 小时前
跨境图片翻译工具推荐:批量处理视频字幕与智能抠图
python·音视频
梦想的颜色3 小时前
OCR 识别原理与 Python 识图全实战:从文字提取到图像内容理解
python·计算机视觉·ocr·图像识别·python 识图
禹凕3 小时前
Dijkstra算法详解与应用
python·算法
别走!万哥爱你4 小时前
Python 中可以用于在已排序的列表中查找特定元素的位置的是什么?
python
云贝贝贝5 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云
wxwx_bscxy3225 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
TechWayfarer6 小时前
Cloudflare 9·15新政倒计时:用IP风险画像识别AI爬虫,防止误伤Googlebot
网络·人工智能·爬虫·python·tcp/ip·网络安全
禹凕6 小时前
滑动窗口算法实战指南
python·算法