班级:软件193 学号:2019082310 姓名:刘林
健康档案管理系统
功能要求该系统的健康文件包括病历信息和体检信息。
登记,将学生的健康信息插入健康文件;修改,修改一个学生的健康档案记录;
删除,删除学生的健康档案记录;
查询,可以组合各种条件进行查询,显示学生健康信息并打印健康文件报表;
统计,对学生的基本健康状况进行各种必要的统计和分析,由一般统计和动态分析两种。一般统计包括计数和求平均值;动态分析由健康历史求出平均年增长值和年增长率。
数据要求体检文件:学号、姓名、性别、系别、年龄、身高、体重、胸围、日期
病历文件:学号、姓名、性别、系别、诊断、日期
采用框架:springboot+vue的前后端分离,mybaits
开发平台:IntelliJ IDEA
数据库版本:MySQL
JDK版本:jdk1.8
环境配置:Maven,Tomcat,lombook,devtools...(IDEA自动导入)
数据库管理与设计工具:Navicat Premium
IDEA全称IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、创新的GUI设计等方面的功能可以说是超常的。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到MySQL、SQLite、Oracle、 MariaDB、Mssql、及PostgreSQL资料库,让管理不同类型的资料库更加的方便。
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。SpringBoot是基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了 Spring应用的整个搭建和开发过程。
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。Vue.js的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件。Vue.js自身不是一个全能框架--它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js也能完美地驱动复杂的单页应用
MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain Ordinary Java Object,普通的Java对象)映射成数据库中的记录。
https://gitee.com/LIULIN12345/database-course-design
CREATE TABLE `student` (
`sno` int NOT NULL AUTO_INCREMENT,
`sname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`ssex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`sage` int NOT NULL,
`sdept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`sclass` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`stelephone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
PRIMARY KEY (`sno`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 38 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
CREATE TABLE `medicalchart` (
`mnum` int NOT NULL AUTO_INCREMENT,
`sno` int NOT NULL,
`dname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`mdate` datetime NOT NULL,
`diagnosis` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`mnum`) USING BTREE,
INDEX `fk_medicalchart_student_1`(`sno`) USING BTREE,
CONSTRAINT `fk_medicalchart_student_1` FOREIGN KEY (`sno`) REFERENCES `student` (`sno`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 237 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
CREATE TABLE `healthform` (
`hno` int NOT NULL AUTO_INCREMENT,
`sno` int NOT NULL,
`height` int NOT NULL,
`weight` int NOT NULL,
`chest` int NOT NULL,
PRIMARY KEY (`hno`) USING BTREE,
INDEX `fk_healthform_student_1`(`sno`) USING BTREE,
CONSTRAINT `fk_healthform_student_1` FOREIGN KEY (`sno`) REFERENCES `student` (`sno`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 41 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
分为四层,controller层,DAO层,entity层,service层
有四个模块的的控制层,可解决跨域的问题,学生(Student)、体检(Medical)、病历(Diagnosis)。可实现前后端的信息交互,控制服务层的类对象的判断以及控制信息输出。
分别也是有四个模块。是操作数据库的接口层,接口可在开发的过程中能分离工作的内容,规范化的代码可提高其重复使用的特性,能让其项目完整以及项目的运行效率提高。
有四个模块对应数据库在项目中当中的类,可为其他层提供类对象。
四个模块8个文件,一个模块有一个服务service.java和业务servicelmpl.java。Service层主要负责业务模块的逻辑应用设计。和DAO层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联。接下来就可以在service层调用接口进行业务逻辑应用的处理。封装Service层的业务逻利于业务逻辑的独立性和重复利用性,servicelmpl文件就是实现service中的服务对象。
封装以及放置SQL语句的配置文件。
springboot的配置文件
通过这几天的网上学习,同学指点以及老师给的资料。我对前端和后端有了一定的了解,并基本完成了健康档案管理系统项目。说实话这个项目的大部分知识都是在网上一点一点学的,这虽然很重要。但我认为最重要的是,当我网上教程看不懂时,同学和室友总能给我详细的解答,这也是我最喜欢的过程。当我快完成时,室友看了一下我的代码提醒道“你的前端和后端没有完全分离,还要再改改”最后虽然我重写了一遍(也不算重写,代码都在,只是加了一些框架和其他相关代码)但可能是觉得快弄完了,就行前后端分离时,老是出错(有的代码分快的“})”少写,有的代码input我弄成iput等等好些错误,花了我很长时间,差点自闭了)
待改进的地方: 前后端分离耗时较长,导致界面叫简单,很多细节没处理好。 学习springboot,vue等等,弄得我头都要炸了,所以晚上写的日志就有点简单(日志上随便一段代码,我可能要花两三个小时去写和找错) gitee上贡献点不够,邮箱没有绑定仓库,导致有提交记录,没有贡献点。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。