健康管理后端记录

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

身体信息上传

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

健康评估

、

运动知识

详情页面

身体信息管理

修改密码

数据库

改头像

用英文

成功!

相关推荐
cpolar技术支持10 小时前
Spring Boot 接口本地正常,异地前端却报跨域?用 cpolar 跑通 CORS 预检与白名单
java·springboot·cpolar·前后端分离·cors
弹简特2 天前
【Java项目-企悦抽】17-抽奖模块02-抽奖接口实现
java·开发语言·状态模式·springboot
弹简特3 天前
【Java项目-企悦抽】16-抽奖模块01-获取活动完整信息接口实现
java·开发语言·状态模式·springboot
弹简特4 天前
【Java项目-企悦抽】15-活动管理模块02-活动创建测试与活动列表实现
java·开发语言·springboot
弹简特5 天前
【Java项目-企悦抽】13-奖品管理模块-奖品列表和创建奖品的实现
java·开发语言·网络·springboot
弹简特5 天前
【Java项目-企悦抽】14-活动管理模块01-创建活动的实现
java·开发语言·springboot
Q26433650236 天前
【有源码】基于uni-app的旅游行程规划小程序-基于微信小程序的智慧文旅综合服务平台
java·微信小程序·小程序·uni-app·毕业设计·springboot·源代码
凤山老林6 天前
Spring Boot 实现高并发分布式 ID 生成:雪花算法原理、时钟回拨处理与性能优化实战
springboot·雪花算法·分布式id·时钟回拨
小蒜学长6 天前
基于SpringBoot和Vue的低卡食品销售系统的设计与实现(代码+数据库+LW)
java·后端·springboot·健康管理·低卡食品销售系统