健康管理后端记录

  • detail(详情)

  • body(体检信息)

  • body_notes(体检备注)

  • menu(菜单)

  • role (角色)

  • role_menu(角色菜单关联)

  • user(用户)

  • user_role(用户角色关联)

  • sport_info (运动信息)

创建项目

https://start.aliyun.com

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里面去

身体信息上传

和用户身体信息管理是一套的

健康评估

运动知识

详情页面

身体信息管理

修改密码

数据库

改头像

用英文

成功!

相关推荐
这里是杨杨吖3 小时前
SpringBoot+Vue高校在线考试系统 附带详细运行指导视频
vue·在线考试·springboot
就改了11 小时前
ElasticsearchRestTemplate使用方法详解!!!
java·elasticsearch·springboot
郑洁文6 天前
旅游景点推荐系统的设计与实现
springboot·毕设·旅游系统·旅游景点推荐系统
ANnianStriver7 天前
PetLumina-AI 驱动的宠物生活管理平台
java·生活·vue3·springboot·ai编程·宠物·全栈开发
YDS8297 天前
DeepSeek RAG&MCP + Agent智能体项目 —— 集成ELK日志管理系统和Prometheus监控系统
java·elk·ai·springboot·agent·prometheus·deepseek
极光代码工作室8 天前
基于SpringBoot的任务管理系统
java·springboot·web开发·后端开发
杭州杭州杭州9 天前
瑞吉外卖项目
springboot
逍遥德9 天前
Java编程高频的“技术点”-03:“下划线命名”参数,后端用“驼峰命名“接收
java·后端·springboot
弹简特9 天前
【Java项目-轻聊】08-用户管理模块-实现获取用户信息+头像上传+显示头像
java·开发语言·springboot
行者-全栈开发11 天前
SpringBoot CI/CD 流水线实战|Jenkins+GitLab CI,从手动到自动化交付
ci/cd·jenkins·springboot·devops·自动化部署·gitlab ci