# 基于SSM的健身房管理系统
> The project was made in 2020-05-05~2020-05-10
>
> 谨以此片博文记录下我的第一个Java小Demo
## 项目展示
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223056729-1025028746.png)
> **用户登录页**
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223105878-2066053629.png)
> **用户注册页**
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223115078-1710400359.png)
> **用户主页**
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223123422-8795051.png)
> **用户购买健身卡**(商城)**页**
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223132037-664136393.png)
> **管理员登录页**
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223138826-2034480811.png)
> **管理员主页**
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223149527-465864464.png)
>**管理员添加用户页**
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223242033-123391326.png)
>**管理员编辑用户页**
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223251566-250540578.png)
>**细节1:常驻工具栏(内含搜索栏)**
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223259006-331494198.png)
>**细节2:登录账号密码实时反馈(AJAX)**
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223308617-203187542.png)
>**细节3:翻页功能&可选每页显示条数 **
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223313817-1851190412.png)
>**细节4:人性化的交互设计**
## 项目环境
- JDK: 1.8
- IDE: IDEA 201903
- DataBase: MySQL 8.0
- Mybatis: 3.5.2
- POM: Maven
- Tomcat 9
- Bootstrap 3
- JQuery 2
- lombok 插件
- 分页插件: PageHelper 5.1.11
- 涉及技术 MySQL数据库,Spring,JavaWeb及MyBatis,简单的前端知识
## 项目详情
### 设计数据库
> 大二没有好好学系统设计与分析,画的图一塌糊涂。
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223327088-1597991601.png)
> 包含两个实体类,用户&管理员
>
> 生成该数据库的sql文件 在该链接跳转GitHub /sql 目录下
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223339885-123568355.png)
> 生成表如图示
### 设计要实现的功能
> 应该叫做用例图吧,但我的好多符号都是错的,再次后悔没有好好学习!
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223346220-866693620.png)
### 制作前端页面Demo
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223352024-1606258504.png)
> 设计该图的[网址](www.processon.com)
其实这一步放在后面也合适,我为了让自己吃大饼,就先设计了一下。
### 环境配置
![](https://img2020.cnblogs.com/blog/1593734/202005/1593734-20200510223407489-1370411315.png)
> 项目文件结构如图所示
#### 基本步骤
1. 新建Maven项目,添加web支持
2. 导入pom依赖
```xml
junit
junit
4.12
mysql
mysql-connector-java
5.1.47
com.mchange
c3p0
0.9.5.2
javax.servlet
servlet-api
2.5
javax.servlet.jsp
jsp-api
2.2
javax.servlet
jstl
1.2
org.mybatis
mybatis
3.5.2
org.mybatis
mybatis-spring
2.0.2
org.springframework
spring-webmvc
5.1.9.RELEASE
org.springframework
spring-jdbc
5.1.9.RELEASE
```
3. Maven资源过滤
```xml
src/main/java
**/*.properties
**/*.xml
false
src/main/resources
**/*.properties
**/*.xml
false
```
4. 建立基本结构框架 (如上所示[点此跳转](# 环境配置)
5. 建立基本配置
- mybatis-config.xml
```xml
```
- applicationContext.xml
```xml
```
6. Mybatis层编写
- 数据库配置文件 **database.properties**
```properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=123456IDEA关联数据库
```
- IDEA关联数据库
- 编写MyBatis的核心配置文件
```xml
```
### POJO Mapper Services的编写
#### POJO
1. User
```java
@Data //使用lombok插件即可省写get set
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String username;
private String password;
private String name;
private String sex;
private String telephone;
private int age;
private String begintime;
private String endtime;
private int remainday;
private int addday;
public static void main(String[] args) {
User u = new User();
u.getTelephone();
}
}
```
2. Admin
```java
@Data