健康管理后端记录

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

身体信息上传

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

健康评估

运动知识

详情页面

身体信息管理

修改密码

数据库

改头像

用英文

成功!

相关推荐
净重21克2 小时前
万字长文!TLS协议升级避坑手册:JDK老项目适配TLS1.2/1.3全流程拆解
java·springboot·java安全
净重21克6 小时前
万字长文!JDK 1.6~11 TLS协议升级全攻略
jdk·springboot
十五喵源码网8 小时前
基于SpringBoot2+vue2的公寓报修管理系统
java·毕业设计·springboot·论文笔记
孔明click331 天前
别人绕过我的网关直接调用资源服务怎么办?使用 Sa-Token 解决:网关转发鉴权、RPC调用鉴权
java·sa-token·springboot·权限·权限认证
山甫aa3 天前
Javaweb---MyBatis增删改查
java·数据库·后端·mybatis·springboot
山甫aa3 天前
JavaWeb后端开发学习手册
java·开发语言·数据库·学习·mysql·springboot·web
小博测试成长之路5 天前
55分钟能用飞算JavaAI搭完JWT REST API吗?
springboot·ai编程·java开发·飞算javaai·ai coding·java代码生成
努力就够了5 天前
搭建属于自己的 AI 智能体以及多 Agent 协作
springboot·ai agent·ai 智能体·多 agent 协作
chaser&upper5 天前
飞算JavaAI能听懂食品安全召回系统的复杂业务吗?
springboot·crud·vibe coding·飞算javaai·ai coding模型
承渊政道5 天前
10:30提交预约会不会撞上10:00的会议?我用飞算JavaAI3.9.1和3.9.9跑了四个时间段
java·springboot·ai编程·飞算javaai·java代码生成