
-
detail(详情)
-
body(体检信息)
-
body_notes(体检备注)
-
menu(菜单)
-
role (角色)
-
role_menu(角色菜单关联)
-
user(用户)
-
user_role(用户角色关联)
-
sport_info (运动信息)
创建项目


1. Web (网页开发必备)
- Spring Web
2. SQL (数据库相关)
- MySQL Driver
-MyBatis Framework
3. NoSQL (缓存)
- Spring Data Redis (Access+Driver)
4. Developer Tools (开发工具)
- Lombok



进入项目
代码生成器连上数据库
import org.mybatis.spring.annotation.MapperScan;
@MapperScan("com.zyy.healthsys.mapper")
<!-- mybatis-plus 代码生成器 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
<!-- mybatis-plus 基础库 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<!-- 模板引擎 (生成器需要的图纸) -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>


主程序连数据库
# 端口号配置 server: port: 9999 spring: # 解决 Swagger 3.0 与 SpringBoot 2.6+ 不兼容的问题 mvc: pathmatch: matching-strategy: ant_path_matcher # 数据库连接配置 datasource: # 数据库驱动 (固定的,不用改) driver-class-name: com.mysql.cj.jdbc.Driver # 数据库地址:localhost表示本机,3306是端口,health是数据库名 # useUnicode=true&characterEncoding=utf-8: 防止中文乱码 # serverTimezone=Asia/Shanghai: 设置时区为上海,防止时间差8小时 url: jdbc:mysql://localhost:3306/health?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai # 数据库账号 username: root # 数据库密码 password: root # Redis 缓存配置 (用来存登录信息、验证码等) redis: host: localhost port: 6379 # MyBatis-Plus 增强工具配置 mybatis-plus: # 全局配置:逻辑删除 global-config: db-config: logic-delete-field: deleted # 全局逻辑删除的实体字段名 logic-delete-value: 1 # 1 表示已删除 logic-not-delete-value: 0 # 0 表示未删除 # MyBatis-Plus 的 "高级设置菜单" configuration: # 开启控制台打印 SQL 语句 (开发调试时很有用,能看到程序到底查了什么数据) log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 告诉程序去哪里找 mapper.xml 文件 (存放 SQL 语句的地方) mapper-locations: classpath:mapper/**/*.xml # 实体类别名包 (写SQL时可以用简写,比如 User 代替 com.zyy.healthsys.entity.User) type-aliases-package: com.zyy.healthsys.entity

<!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- Swagger 接口文档工具 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency>

搭建项目的基础设施
<!-- JWT 令牌工具 -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
<!-- JSON 处理工具 -->
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.7</version>
</dependency>




接收登录功能

-
定义一个 /login 接口。
-
接收参数(通常是一个 User 对象)。
-
调用 userService.login(user) 。



(接口) :加了接口定义,方便 Controller 调用。在里面加一个方法声明: Map<String, Object> login(User user); 。


3.(实现类) :逻辑实现 查数据库 -> 对暗号(比对密码) -> 发通行证(生成 Token)。


获取用户信息
1


2

3

写完之后重新启动
退出账号接口



注册账号接口
1

2

3



"动态路由"和"菜单显示"
"动态路由"和"菜单显示"其实是 同一套数据流程 ,只是前端拿到数据后的用途不同(一个用来生成点击的菜单,一个用来生成可访问的路由表)






侧边栏的权限实现





用户管理
分页查询,用户列表查询
新增用户
修改用户
根据ID查用户
删除用户
分页查询,用户列表查询

新增用户,修改用户,根据ID查用户,删除用户



角色管理

角色列表分页 ( GET /role/list ) -> 给"角色管理"页面用 。
接单 查目录 执行



开单子 搬货



完成现在去前端
运动知识管理




controller service mapper entity
controller接单 service执行会调用mapper 最后塞给entity
现在去前端
运动详情管理 用户身体信息管理
一样的操作


controller接单 service执行会调用mapper 最后塞给entity
身体信息管理改到usercontroller里面去
身体信息上传
和用户身体信息管理是一套的

健康评估

、

运动知识
详情页面

身体信息管理

修改密码


数据库



改头像
用英文




成功!






