健康管理后端记录

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

身体信息上传

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

健康评估

运动知识

详情页面

身体信息管理

修改密码

数据库

改头像

用英文

成功!

相关推荐
MegaDataFlowers3 小时前
yaml配置注入
springboot
成为大佬先秃头9 小时前
前后分离项目:整合JWT+Shiro
java·springboot·shiro·jwt
程序员老邢13 小时前
【产品底稿 04】商助慧 V1.1 里程碑:爬虫入库 + MySQL + Milvus 全链路打通
java·爬虫·mysql·ai·springboot·milvus
宠友信息2 天前
社交软件源码哪个渠道好
java·微服务·架构·社交电子·springboot·uniapp
玛卡巴卡ldf3 天前
【Springboot6】内存泄漏OOM、VisualVM、Arthas、Prometheus Grafana监控、垃圾回收
java·jvm·springboot
Flittly4 天前
【SpringAIAlibaba新手村系列】(15)MCP Client 调用本地服务
java·笔记·spring·ai·springboot
可以简单点6 天前
分析一个线程日志工具类
java·springboot
鬼先生_sir7 天前
SpringBoot-基础面试篇
java·springboot·java面试
成为大佬先秃头8 天前
日志框架:Logback
springboot·logback
Flittly9 天前
【SpringAIAlibaba新手村系列】(11)Embedding 向量化与向量数据库
java·笔记·spring·ai·springboot