健康管理后端记录

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

身体信息上传

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

健康评估

运动知识

详情页面

身体信息管理

修改密码

数据库

改头像

用英文

成功!

相关推荐
玄〤6 天前
个人博客网站搭建day5--MyBatis-Plus核心配置与自动填充机制详解(漫画解析)
java·后端·spring·mybatis·springboot·mybatis plus
渣瓦攻城狮8 天前
浜掕仈缃戝ぇ鍘侸ava闈㈣瘯锛氫弗鑲冮潰璇曞畼涓庢悶绗戠▼搴忓憳璋㈤鏈虹殑瀵硅瘽
jvm·redis·docker·springboot·java闈㈣瘯·澶氱嚎绋�·璁捐妯″紡
长路 ㅤ   9 天前
Milvus系列之01、Spring boot快速集成Milvus
springboot·向量索引·知识库搭建·milvus向量数据库·rag检索增强生成
Dragon Wu10 天前
SpringCloud 多模块下引入独立bom模块的正确架构方案
java·spring boot·后端·spring cloud·架构·springboot
闻哥13 天前
Java虚拟机内存结构深度解析:从底层原理到实战调优
java·开发语言·jvm·python·面试·springboot
hrhcode14 天前
【Netty】五.ByteBuf内存管理深度剖析
java·后端·spring·springboot·netty
hrhcode14 天前
【Netty】三.ChannelPipeline与ChannelHandler责任链深度解析
java·后端·spring·springboot·netty
知识即是力量ol15 天前
口语八股——Spring 面试实战指南(二):事务管理篇、Spring MVC 篇、Spring Boot 篇、Bean生命周期篇
spring·面试·mvc·springboot·八股·事务管理·bean生命周期