乒乓球比赛管理系统

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

  • 男单、女单

  • 男双、女双、混双

  • 男团、女团

相关推荐
knight_9___6 小时前
大模型project面试4
人工智能·python·深度学习·算法·面试·agent
m0_591364736 小时前
Go语言怎么做链路追踪_Go语言分布式链路追踪教程【精选】
jvm·数据库·python
m0_463672206 小时前
HTML函数工具是否支持雷蛇等游戏外设_RGB同步汇总【汇总】
jvm·数据库·python
zkkkkkkkkkkkkk6 小时前
python使用celery实现异步任务
redis·python·rabbitmq·rocketmq
iAm_Ike7 小时前
如何用 IndexedDB 存储从 API 获取的超大列表并实现二级索引
jvm·数据库·python
Land03297 小时前
指纹浏览器自动化集成方案|多浏览器RPA适配实战记录
运维·人工智能·爬虫·python·selenium·自动化·rpa
X56617 小时前
CSS Flex布局如何让特定子元素不参与缩放_设置flex-shrink- 0的实战技巧
jvm·数据库·python
databook7 小时前
告别手动计算,SymPy 初识与 Manim 联动
python·数学·动效
jayson.h7 小时前
可视化界面
开发语言·python
weixin_444012937 小时前
CSS如何快速实现网站换肤功能_利用CSS变量重置全局颜色方案
jvm·数据库·python