乒乓球比赛管理系统

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

  • 男单、女单

  • 男双、女双、混双

  • 男团、女团

相关推荐
kishu_iOS&AI5 小时前
深度学习 —— 损失函数
人工智能·pytorch·python·深度学习·线性回归
好运的阿财5 小时前
OpenClaw工具拆解之canvas+message
人工智能·python·ai编程·openclaw·openclaw工具
wengqidaifeng5 小时前
python启航:1.基础语法知识
开发语言·python
NoSi EFUL5 小时前
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
android·数据库·mysql
观北海5 小时前
Windows 平台 Python 极简 ORB-SLAM3 Demo,从零实现实时视觉定位
开发语言·python·动态规划
FreakStudio5 小时前
做了个Claude Code CLI 电子宠物:程序员的实体监工代码搭子
python·单片机·嵌入式·面向对象·并行计算·电子diy·电子计算机
柴米油盐那点事儿6 小时前
python+mysql+bootstrap条件搜索分页
python·mysql·flask·bootstrap
AC赳赳老秦6 小时前
OpenClaw二次开发实战:编写专属办公自动化技能,适配个性化需求
linux·javascript·人工智能·python·django·测试用例·openclaw
Devin~Y6 小时前
大厂Java面试实录:Spring Boot/Cloud、Kafka、Redis、K8s 与 Spring AI(RAG/Agent)三轮连环问
java·spring boot·redis·mysql·spring cloud·kafka·kubernetes
Ulyanov7 小时前
《PySide6 GUI开发指南:QML核心与实践》 第二篇:QML语法精要——构建声明式UI的基础
java·开发语言·javascript·python·ui·gui·雷达电子对抗系统仿真