收藏关注不迷路!!
🌟文末获取源码+数据库🌟
感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
前言
个人健康档案管理系统是设计用于存储、管理和共享个人健康信息的一套信息化解决方案。通过集成健康体检、疫苗提醒、用药信息、疾病诊断以及健康报告管理等数据,系统为个体提供全方位的健康管理服务。它允许用户随时查看和更新自己的健康资料,同时保障数据的隐私与安全。系统配备智能分析工具,能够根据用户的健康数据提出个性化的健康建议和预防措施。个人健康档案管理系统的目标是提高医疗服务效率,增强个人的健康管理能力,并协助医疗机构提供更加精准、高效的医疗服务。
本文主要讨论了以Java为编程语言,Springboot为框架,MySQL数据库以及开发易于使用的个人健康档案管理系统建设计划的主要思想。管理系统可以帮助用户快速准确地了解个人健康档案管理信息。在这篇文章中系统研究的背景和意义、开发技术、系统分析、数据库设计、详细的系统设计等信息系统的设计和开发过程的焦点。
关键字:Java、个人健康档案、MySQL数据库
详细视频演示
文章底部名片,联系我看更详细的演示视频
一、项目介绍
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————
二、功能介绍
根据对个人健康档案管理系统的具体需求分析,把系统可以划分为几个不同的功能模块:管理员可以对系统首页、用户管理、健康体检管理、疫苗提醒管理、用药信息管理、疾病诊断管理、饮食记录管理、运动记录管理、睡眠质量管理、健康报告管理、系统管理、我的信息等功能进行操作,个人健康档案管理系统各功能划分结构如图4-1所示。
图4-1系统功能结构图
三、核心代码
部分代码:
package com.example.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {
@Resource
private CaiwuService caiwuService;
@PostMapping
public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
caiwuService.add(caiwu);
return Result.success(caiwu);
}
@PostMapping("/deleteList")
public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
caiwuService.deleteList(caiwu.getList());
return Result.success();
}
@DeleteMapping("/{id}")
public Result delete(@PathVariable Long id) {
caiwuService.delete(id);
return Result.success();
}
@PutMapping
public Result update(@RequestBody CaiwuVo caiwu) {
caiwuService.update(caiwu);
return Result.success();
}
@GetMapping("/{id}")
public Result<Caiwu> detail(@PathVariable Integer id) {
Caiwu caiwu = caiwuService.findById(id);
return Result.success(caiwu);
}
@GetMapping
public Result<List<Caiwu>> all() {
return Result.success(caiwuService.list());
}
@PostMapping("/page")
public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
return Result.success(caiwuService.findPage(caiwuVo));
}
@PostMapping("/login")
public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
throw new CustomException(ResultCode.PARAM_LOST_ERROR);
}
Caiwu login = caiwuService.login(caiwu);
// if(!login.getStatus()){
// return Result.error("1001","状态限制,无法登录系统");
// }
if(login != null) {
HashMap hashMap = new HashMap();
hashMap.put("user", login);
Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
String token = JwtUtil.creatToken(map);
hashMap.put("token", token);
return Result.success(hashMap);
}else {
return Result.error();
}
}
@PutMapping("/updatePassword")
public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
Caiwu caiwu = caiwuService.findById(info.getId());
String oldPassword = SecureUtil.md5(info.getMima());
if (!oldPassword.equals(caiwu.getMima())) {
return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
}
info.setMima(SecureUtil.md5(info.getNewPassword()));
Caiwu caiwu1 = new Caiwu();
BeanUtils.copyProperties(info, caiwu1);
caiwuService.update(caiwu1);
return Result.success();
}
}
数据库参考
--
-- Current Database: `springbootb62l5779`
--
/*!40000 DROP DATABASE IF EXISTS `springbootb62l5779`*/;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springbootb62l5779` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
USE `springbootb62l5779`;
--
-- Table structure for table `config`
--
DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `config` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(100) NOT NULL COMMENT '配置参数名称',
`value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
`url` varchar(500) DEFAULT NULL COMMENT 'url',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `config`
--
LOCK TABLES `config` WRITE;
/*!40000 ALTER TABLE `config` DISABLE KEYS */;
INSERT INTO `config` VALUES (1,'picture1','upload/picture1.jpg',NULL),(2,'picture2','upload/picture2.jpg',NULL),(3,'picture3','upload/picture3.jpg',NULL);
/*!40000 ALTER TABLE `config` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `jiankangbaogao`
--
DROP TABLE IF EXISTS `jiankangbaogao`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `jiankangbaogao` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`baogaobiaoti` varchar(200) DEFAULT NULL COMMENT '报告标题',
`zhanghao` varchar(200) NOT NULL COMMENT '账号',
`shouji` varchar(200) DEFAULT NULL COMMENT '手机',
`jiankangpinggu` varchar(200) NOT NULL COMMENT '健康评估',
`baogaofujian` longtext COMMENT '报告附件',
`qianzaifengxian` varchar(200) DEFAULT NULL COMMENT '潜在风险',
`baogaoneirong` longtext COMMENT '报告内容',
`baogaoriqi` date DEFAULT NULL COMMENT '报告日期',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8 COMMENT='健康报告';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `jiankangbaogao`
--
LOCK TABLES `jiankangbaogao` WRITE;
/*!40000 ALTER TABLE `jiankangbaogao` DISABLE KEYS */;
INSERT INTO `jiankangbaogao` VALUES (91,'2024-03-04 11:48:51','报告标题1','账号1','手机1','良好','','潜在风险1','报告内容1','2024-03-04'),(92,'2024-03-04 11:48:51','报告标题2','账号2','手机2','良好','','潜在风险2','报告内容2','2024-03-04'),(93,'2024-03-04 11:48:51','报告标题3','账号3','手机3','良好','','潜在风险3','报告内容3','2024-03-04'),(94,'2024-03-04 11:48:51','报告标题4','账号4','手机4','良好','','潜在风险4','报告内容4','2024-03-04'),(95,'2024-03-04 11:48:51','报告标题5','账号5','手机5','良好','','潜在风险5','报告内容5','2024-03-04'),(96,'2024-03-04 11:48:51','报告标题6','账号6','手机6','良好','','潜在风险6','报告内容6','2024-03-04'),(97,'2024-03-04 11:48:51','报告标题7','账号7','手机7','良好','','潜在风险7','报告内容7','2024-03-04'),(98,'2024-03-04 11:48:51','报告标题8','账号8','手机8','良好','','潜在风险8','报告内容8','2024-03-04'),(99,'2024-03-04 12:01:56','健康报告','111','','较差','upload/1709553703459.xls','血栓','高血压转血栓','2024-03-04');
/*!40000 ALTER TABLE `jiankangbaogao` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `jiankangtijian`
--
DROP TABLE IF EXISTS `jiankangtijian`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `jiankangtijian` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`xueya` varchar(200) DEFAULT NULL COMMENT '血压',
`xuetang` varchar(200) DEFAULT NULL COMMENT '血糖',
`xuezhi` varchar(200) DEFAULT NULL COMMENT '血脂',
`tiwen` varchar(200) DEFAULT NULL COMMENT '体温',
`riqi` date DEFAULT NULL COMMENT '日期',
`zhanghao` varchar(200) NOT NULL COMMENT '账号',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COMMENT='健康体检';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `jiankangtijian`
--
LOCK TABLES `jiankangtijian` WRITE;
/*!40000 ALTER TABLE `jiankangtijian` DISABLE KEYS */;
INSERT INTO `jiankangtijian` VALUES (21,'2024-03-04 11:48:51','血压1','血糖1','血脂1','体温1','2024-03-04','账号1'),(22,'2024-03-04 11:48:51','血压2','血糖2','血脂2','体温2','2024-03-04','账号2'),(23,'2024-03-04 11:48:51','血压3','血糖3','血脂3','体温3','2024-03-04','账号3'),(24,'2024-03-04 11:48:51','血压4','血糖4','血脂4','体温4','2024-03-04','账号4'),(25,'2024-03-04 11:48:51','血压5','血糖5','血脂5','体温5','2024-03-04','账号5'),(26,'2024-03-04 11:48:51','血压6','血糖6','血脂6','体温6','2024-03-04','账号6'),(27,'2024-03-04 11:48:51','血压7','血糖7','血脂7','体温7','2024-03-04','账号7'),(28,'2024-03-04 11:48:51','血压8','血糖8','血脂8','体温8','2024-03-04','账号8'),(29,'2024-03-04 11:55:46','118','3.6','5.8','36.5','2024-03-04','111');
/*!40000 ALTER TABLE `jiankangtijian` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `jibingzhenduan`
--
DROP TABLE IF EXISTS `jibingzhenduan`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `jibingzhenduan` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`zhenduanmingcheng` varchar(200) DEFAULT NULL COMMENT '诊断名称',
`zhenduanriqi` date DEFAULT NULL COMMENT '诊断日期',
`jiuzhenyisheng` varchar(200) DEFAULT NULL COMMENT '就诊医生',
`yishengjianyi` varchar(200) DEFAULT NULL COMMENT '医生建议',
`zhenduanneirong` longtext COMMENT '诊断内容',
`zhanghao` varchar(200) NOT NULL COMMENT '账号',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=60 DEFAULT CHARSET=utf8 COMMENT='疾病诊断';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `jibingzhenduan`
--
LOCK TABLES `jibingzhenduan` WRITE;
/*!40000 ALTER TABLE `jibingzhenduan` DISABLE KEYS */;
INSERT INTO `jibingzhenduan` VALUES (51,'2024-03-04 11:48:51','诊断名称1','2024-03-04','就诊医生1','医生建议1','诊断内容1','账号1'),(52,'2024-03-04 11:48:51','诊断名称2','2024-03-04','就诊医生2','医生建议2','诊断内容2','账号2'),(53,'2024-03-04 11:48:51','诊断名称3','2024-03-04','就诊医生3','医生建议3','诊断内容3','账号3'),(54,'2024-03-04 11:48:51','诊断名称4','2024-03-04','就诊医生4','医生建议4','诊断内容4','账号4'),(55,'2024-03-04 11:48:51','诊断名称5','2024-03-04','就诊医生5','医生建议5','诊断内容5','账号5'),(56,'2024-03-04 11:48:51','诊断名称6','2024-03-04','就诊医生6','医生建议6','诊断内容6','账号6'),(57,'2024-03-04 11:48:51','诊断名称7','2024-03-04','就诊医生7','医生建议7','诊断内容7','账号7'),(58,'2024-03-04 11:48:51','诊断名称8','2024-03-04','就诊医生8','医生建议8','诊断内容8','账号8'),(59,'2024-03-04 11:56:48','高血压','2021-02-25','高义盛','少油少盐 清淡饮食',' 高血压 少油少盐 清淡饮食','111');
/*!40000 ALTER TABLE `jibingzhenduan` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `popupremind`
--
DROP TABLE IF EXISTS `popupremind`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `popupremind` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`userid` bigint(20) NOT NULL COMMENT '发布人id',
`title` varchar(200) NOT NULL COMMENT '标题',
`type` varchar(200) DEFAULT '个人' COMMENT '类型',
`brief` longtext COMMENT '简介',
`content` longtext NOT NULL COMMENT '内容',
`remindtime` datetime DEFAULT NULL COMMENT '提醒时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=120 DEFAULT CHARSET=utf8 COMMENT='弹窗提醒';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `popupremind`
--
LOCK TABLES `popupremind` WRITE;
/*!40000 ALTER TABLE `popupremind` DISABLE KEYS */;
INSERT INTO `popupremind` VALUES (111,'2024-03-04 11:48:51',1,'标题1','个人','简介1','内容1','2024-03-04 19:48:51'),(112,'2024-03-04 11:48:51',2,'标题2','个人','简介2','内容2','2024-03-04 19:48:51'),(113,'2024-03-04 11:48:51',3,'标题3','个人','简介3','内容3','2024-03-04 19:48:51'),(114,'2024-03-04 11:48:51',4,'标题4','个人','简介4','内容4','2024-03-04 19:48:51'),(115,'2024-03-04 11:48:51',5,'标题5','个人','简介5','内容5','2024-03-04 19:48:51'),(116,'2024-03-04 11:48:51',6,'标题6','个人','简介6','内容6','2024-03-04 19:48:51'),(117,'2024-03-04 11:48:51',7,'标题7','个人','简介7','内容7','2024-03-04 19:48:51'),(118,'2024-03-04 11:48:51',8,'标题8','个人','简介8','内容8','2024-03-04 19:48:51'),(119,'2024-03-04 11:58:45',1709553324259,'吃药','个人','测吃药','<p>测吃药</p>','2024-03-04 19:59:20');
/*!40000 ALTER TABLE `popupremind` ENABLE KEYS */;
UNLOCK TABLES;
四、效果图
五、文章目录
目 录
第一章 绪论 1
1.1 课题背景与意义 1
1.2 国内外研究现状 1
1.3 本课题研究的主要内容 2
1.4 论文结构安排 3
第二章 所用开发工具介绍 4
2.1 Java语言 4
2.2 Springboot框架 4
2.3 vue.js前端框架 4
2.4 MySQL数据库的运用 5
2.5 B/S结构 6
第三章 需求分析 7
3.1 系统可行性分析 7
3.1.1经济上可行性 7
3.1.2技术上可行性 7
3.1.3操作上可行性 7
3.2系统UML用例分析 8
3.3系统流程分析 9
3.3.1系统的流程图 9
3.3.2用户注册和登录模块 10
第四章 系统的设计与实现 12
4.1 系统功能结构设计 12
4.2 数据库设计 12
4.2.1数据库概念结构设计 12
4.2.2数据库逻辑结构设计 13
第五章 系统实现 22
5.1系统登录注册实现 22
5.2管理员功能模块实现 23
5.3用户功能模块实现 27
第六章 系统测试 29
6.1 测试环境 29
6.2 测试过程 29
6.2.1功能测试 29
6.2.2用户界面(UI) 测试 30
6.2.3兼容性测试 30
总 结 31
参考文献 32
致 谢 33
六 、源码获取
下方名片联系我即可!!
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻