基于java Web 健身房注册管理系统设计与实现

基于java Web 健身房注册管理系统设计与实现
博主介绍:翰文编程 专注于Java(springboot ssm 等开发框架) vue  .net  php phython node.js    uniapp 微信小程序 等诸多技术领域和课设项目实战、企业信息化系统建设,从业十八余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了2000+题目解决方法案例  方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
文末下方有源码获取地址

4系统概要设计

4.1系统功能模块设计

系统主要功能各功能结构图模块如图4-1所示:

                                    图4-1 功能结构图

4.2数据库设计

4.2.1数据库设计原则

4.2.2数据库表的设计

根据需求分析,本健身房平台的数据库表,具体设计如下:

1 会员( 会员编号,用户名,密码,姓名,联系电话,联系地址 )

2 私教( 私教编号,用户名,密码,姓名,联系电话,联系地址,从业经历,照片 )

3 公告( 公告编号,标题,内容,发布时间 )

4 签到( 签到编号,日期,签到时间,用户,状态 )

5 商品类型( 商品类型编号,类型 )

6 商品( 商品编号,商品名称,介绍,类型,图片,价格,备注 )

7 消费( 消费编号,消费流水,商品,数量,价格,说明,状态 )   

4.2.3数据表详细结构

本系统数据库命名为jsf主要由下列数据表组成,分别为:会员(huiyuan),私教(sijiao),公告(gonggao),签到(qiandao),商品类型(splx),商品(shangpin),消费(xiaofei),。如下表所示

表4-1会员信息表

序号

字段名称

数据类型

长度

主键

描述

1

hyid

INTEGER

11

会员编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

lxdh

VARCHAR

40

联系电话

6

lxdz

VARCHAR

40

联系地址

表4-2 私教信息表

序号

字段名称

数据类型

长度

主键

描述

1

sjid

INTEGER

11

私教编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

lxdh

VARCHAR

40

联系电话

6

lxdz

VARCHAR

40

联系地址

7

cyjl

VARCHAR

40

从业经历

8

zp

VARCHAR

40

照片

表4-3公告信息表

序号

字段名称

数据类型

长度

主键

描述

1

ggid

INTEGER

11

公告编号

2

bt

VARCHAR

40

标题

3

nr

VARCHAR

40

内容

4

fbsj

VARCHAR

40

发布时间

表4-4  签到信息表

序号

字段名称

数据类型

长度

主键

描述

1

qdid

INTEGER

11

签到编号

2

rq

VARCHAR

40

日期

3

qdsj

VARCHAR

40

签到时间

4

yh

VARCHAR

40

用户

5

zt

VARCHAR

40

状态

表4-5 商品性信息表

序号

字段名称

数据类型

长度

主键

描述

1

splxid

INTEGER

11

商品类型编号

2

lx

VARCHAR

40

类型

表4-6  商品信息表

序号

字段名称

数据类型

长度

主键

描述

1

spid

INTEGER

11

商品编号

2

spmc

VARCHAR

40

商品名称

3

js

VARCHAR

40

介绍

4

lx

VARCHAR

40

类型

5

tp

VARCHAR

40

图片

6

jg

VARCHAR

40

价格

7

bz

VARCHAR

40

备注

表4-7  消费信息表

序号

字段名称

数据类型

长度

主键

描述

1

xfid

INTEGER

11

消费编号

2

xfls

VARCHAR

40

消费流水

3

sp

VARCHAR

40

商品

4

sl

VARCHAR

40

数量

5

jg

VARCHAR

40

价格

6

sm

VARCHAR

40

说明

7

zt

VARCHAR

40

状态

 4.3 数据库概念设计

将需求分析得到的用户需求抽象为信息结构,即概念模型的过程就是概念结构设计,它是整个数据库设计的关键。

(2)系统中实体E-R图

根据健身房注册管理系统的详细设计系统的要求,规划出了以下一些实体,会员实体,私教实体,公告实体,签到实体,商品类型实体,商品实体,消费实体,选择建设项目实体。如图所示:

4.1 系统E-R图


会员信息实体,主要包括 会员编号,用户名,密码,姓名,联系电话,联系地址 等信息实体。如图4.2所示:

图4.2 会员实体属性图

  

   

5系统的详细设计

5.1会员模块的实现

1、功能描述

该功能用于实现对系统的会员信息的管理。用户可以对系统内添加、删除和更改会员信息,以及会员信息列表展现

2、输入项目

对于中的会员的基本信息,包括会员编号,用户名,密码,姓名,联系电话,联系地址

3、输出项目

(1)验证模块会对系统的会员的基本信息存入到数据库表huiyuan信息表。

(2)输入的会员信息,主要包括会员编号,用户名,密码,姓名,联系电话,联系地址 等,不能为空。

(3)若输入不合理内容,则给出错误提示信息。

4、算法描述

当用户进入会员基本信息页面后,用户通过web页面输入会员信息编辑内容,并将输入的会员信息提交到后台进行处理,系统校验会员编号,用户名,密码,姓名,联系电话,联系地址 信息,正确后,将会员信息进行逻辑进行处理,组织好相关的会员sql语句后,调用系统公共数据库访问类,进行相关的业务操作,由系统数据访问层访问数据库进行会员信息更新。如果前台用户输入的会员信息不符合业务设计的要求,则应用程序将以Request对象存入错误提示信息,并跳转到会员信息页面,并显示该错误提示信息。

,如图5-1所示:

图5-1用户界面

5.2私教模块的实现

1、功能描述

该功能用于实现对系统的私教信息的管理。用户可以对系统内添加、删除和更改私教信息,以及私教信息列表展现

2、输入项目

对于中的私教的基本信息,包括私教编号,用户名,密码,姓名,联系电话,联系地址,从业经历,照片

3、输出项目

(1)验证模块会对系统的私教的基本信息存入到数据库表sijiao信息表。

(2)输入的私教信息,主要包括私教编号,用户名,密码,姓名,联系电话,联系地址,从业经历,照片 等,不能为空。

(3)若输入不合理内容,则给出错误提示信息。

4、算法描述

当用户进入私教基本信息页面后,用户通过web页面输入私教信息编辑内容,并将输入的私教信息提交到后台进行处理,系统校验私教编号,用户名,密码,姓名,联系电话,联系地址,从业经历,照片 信息,正确后,将私教信息进行逻辑进行处理,组织好相关的私教sql语句后,调用系统公共数据库访问类,进行相关的业务操作,由系统数据访问层访问数据库进行私教信息更新。如果前台用户输入的私教信息不符合业务设计的要求,则应用程序将以Request对象存入错误提示信息,并跳转到私教信息页面,并显示该错误提示信息,如图5-2所示

图5-2教练管理界面

 <body><form name="form" method="post" > <div> <div> <span>私教信息管理!</span> </div> <div> <div><b>私教信息列表:</b></div> <table bordercolor="#b1c7e0" bordercolordark="#FFFFFF"> <tr> <td>私教编号</td> <td>用户名</td> <td>密码</td> <td>姓名</td> <td>联系电话</td> <td>联系地址</td> <td>照片</td> <td>操作</td> </tr> <% int Page=0; int maxPage=0; if(rs!=null){ String str=(String)request.getParameter("Page"); if(str==null){ str="0"; } int pagesize=10; rs.last(); int RecordCount=rs.getRow(); if(RecordCount>0){ System.out.println("RecordCount=="+RecordCount); maxPage=(RecordCount%pagesize==0)?(RecordCount/pagesize):(RecordCount/pagesize+1); Page=Integer.parseInt(str); if(Page<1){ Page=1; }else{ if(Page>maxPage){ Page=maxPage; }} rs.absolute((Page-1)*pagesize+1); for(int i=1;i<=pagesize;i++){ %> <tr> <td ><%=rs.getString("sjid")%></td> <td ><%=rs.getString("yhm")%></td> <td ><%=rs.getString("mm")%></td> <td ><%=rs.getString("xm")%></td> <td ><%=rs.getString("lxdh")%></td> <td ><%=rs.getString("lxdz")%></td> <td ><img src="../upload/<%=rs.getString("zp")%>"></td> <td><a href="sijiaoupdate.jsp?keyid=<%=rs.getString("sjid")%>">修改</a>| <a href="sijiaodelete.jsp?keyid=<%=rs.getString("sjid")%>" onClick="javascript:if(confirm('是否删除')){return true;}else{return false;}">删除</a>| <a href="sijiaodetail.jsp?keyid=<%=rs.getString("sjid")%>">查看</a>| </td> </tr> <% try{ if(!rs.next()){break;} }catch(Exception e){System.out.println(e.toString());} } } %> <tr>

5.3 商品管理模块的实现

1、功能描述

该功能用于实现对系统的商品信息的管理。用户可以对系统内添加、删除和更改商品信息,以及商品信息列表展现

2、输入项目

对于中的商品的基本信息,包括商品编号,商品名称,介绍,类型,图片,价格,备注

3、输出项目

(1)验证模块会对系统的商品的基本信息存入到数据库表shangpin信息表。

(2)输入的商品信息,主要包括商品编号,商品名称,介绍,类型,图片,价格,备注 等,不能为空。

(3)若输入不合理内容,则给出错误提示信息。

4、算法描述

当用户进入商品基本信息页面后,用户通过web页面输入商品信息编辑内容,并将输入的商品信息提交到后台进行处理,系统校验商品编号,商品名称,介绍,类型,图片,价格,备注 信息,正确后,将商品信息进行逻辑进行处理,组织好相关的商品sql语句后,调用系统公共数据库访问类,进行相关的业务操作,由系统数据访问层访问数据库进行商品信息更新。如果前台用户输入的商品信息不符合业务设计的要求,则应用程序将以Request对象存入错误提示信息,并跳转到商品信息页面,并显示该错误提示信息。

如图5-3所示:

图5-3商品管理界面


期待你的三连:点赞、投币、好评,然后可以在我主页个人介绍那边网址联系到我

Read more

吃透 C++ 栈和队列:stack/queue/priority_queue 用法 + 模拟 + STL 标准实现对比

吃透 C++ 栈和队列:stack/queue/priority_queue 用法 + 模拟 + STL 标准实现对比

✨ 孤廖:个人主页 🎯 个人专栏:《C++:从代码到机器》 🎯 个人专栏:《Linux系统探幽:从入门到内核》 🎯 个人专栏:《算法磨剑:用C++思考的艺术》 折而不挠,中不为下 文章目录 * 正文: * 容器适配器 * STL标准库中stack和queue的底层结构 * deque的简单介绍(了解) * deque的缺陷 * 为什么选择deque作为stack和queue的底层默认容器 * stack的介绍和使用 * Satck的介绍 * Stack的使用 * stack的模拟实现 * queue的介绍和使用 * queue的介绍 * queue的使用 * queue的模拟实现 * priority_queue的介绍和使用 * priority_queue的介绍 * priority_queue的使用 * 在OJ中的使用 * priority_queue的模拟实现 * STL标准库中对于sta

By Ne0inhk
【C++:搜索二叉树】二叉搜索树从理论到实战完全解读:原理、两种场景下的实现

【C++:搜索二叉树】二叉搜索树从理论到实战完全解读:原理、两种场景下的实现

🔥艾莉丝努力练剑:个人主页 ❄专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶、测试开发要点全知道 ⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平 🎬艾莉丝的简介: 🎬艾莉丝的C++专栏简介: 目录 C++的两个参考文档 前言 1  ~>  理解二叉搜索树 1.1  二叉搜索树的概念 1.2  博主手记:核心特性 1.2.1  多元化的结构: 灵活的数据结构 1.2.2  天然的搜索优势:擅长搜索的数据结构 2  ~>  二叉搜索树性能分析 2.

By Ne0inhk
【C++贪心 DFS】2673. 使二叉树所有路径值相等的最小代价|1917

【C++贪心 DFS】2673. 使二叉树所有路径值相等的最小代价|1917

本文涉及知识点 C++贪心 反证法 决策包容性 C++DFS LeetCode2673. 使二叉树所有路径值相等的最小代价 给你一个整数 n 表示一棵 满二叉树 里面节点的数目,节点编号从 1 到 n 。根节点编号为 1 ,树中每个非叶子节点 i 都有两个孩子,分别是左孩子 2 * i 和右孩子 2 * i + 1 。 树中每个节点都有一个值,用下标从 0 开始、长度为 n 的整数数组 cost 表示,其中 cost[i] 是第 i + 1 个节点的值。每次操作,你可以将树中 任意 节点的值

By Ne0inhk
C++socket网络编程——udp服务器

C++socket网络编程——udp服务器

目录 一.端口号 VS  PID 二.套接字编程的类型 三.socket编程接口 四.基于udp的服务端和客户端全部代码 客户端 服务端 五.解释与运行 一些细节: 六.总结 一.端口号 VS  PID pid已经能够标识一台主机上的一个唯一一个进程了,为什么还需要端口号? 1. 不是所有的进程都需要网络通信,但是所有的进程都需要都pid; 2. 系统和网络功能解耦。         另外,一个进程可以绑定多个端口,但一个端口只能被一个进程绑定。         系统内定的端口号【0,1023】一般都要有固定的应用层协议使用,如http:80,https:443。 二.套接字编程的类型 1. 域间套接字编程——同一个机器内 2. 原始套接字编程——网络工具 3. 网络套接字编程—

By Ne0inhk