目录
基于java+SpringBoot+HTML+MySQL医院挂号系统的设计与实现_哔哩哔哩_bilibili
源码+论文获取请私信获取
随着科学技术的飞速发展,人类社会正在快速的向信息化发展,二十一世纪是信息大发展的时代,Internet的发展更是给信息的传输带来了极大的便捷,PC网站作为现在Internet中极其重要的一员,它为工作单位,个人,国家政府部门的信息的传递和流通起到了巨大的作用。随着社会的进步,人类的发展,在线挂号在现在的生活中已经越来越普遍了。互联网不仅为生活提供便捷同时为我们为工作带来方便提高工作效率,而且还节省了许多物力财力,提高了文件传输的安全性,任务下达的明确性,学习时间安排的合理性。
为了适应现代社会人们高度强烈的时间观念,挂号网站为现在的互联网用户带来了极大的方便。互联网用户只需要在网站首页输入你的病情,就可以轻松的找到你想挂的科室,根据科室找到想找的医生,实现自己挂号。对于各类型的互联网用户来说,利用互联网快速的挂号,是适应现代互联网发展的要求、挂号网站符合现在的科学化、规范化,人性化的必要条件;而且挂号网站的设计是一项非常复杂的事情,事情的繁琐,传统的方式极其不便,大大的降低了互联网用户的挂号效率。并且传统的线下挂号方式还存在着许多不便,传统的方式在实际情况下不可避免的会有许多人为因素,经常造成使用不便。线上的挂号系统有着传统方式没有的好处,例如信息储存量大、搜索方便等众多优点,以及处理信息快速快捷,同时也大大提升互联网用户学习的效率。现代互联网系统,还具有着传统方式所无法替代的优点。在现代化的进程中,引入现代的管理思想,建立一套可面向互联网用户的挂号网站是十分必要的。
独立设计和完成一个基于Java的挂号网站,将会面临到许多的技术上的困难,例如:数据库管理工具的选择、页面的设计和系统的开发、数据库的连接、动态页面的开发等等,通过实际意义上的的挂号系统的开发以及制作,可以避免纸上谈兵,巩固大学所学的Java Web方面的知识,在实际操作中能够掌握Java开发技术的实际使用,提升自己的实践操作能力。综上所述,完成这个设计的意义是重大的,其意义如下:
1、培养自学和探索的能力,学习最新的技术
目前Java Web开发流行的技术有JSP、jQuery框架、VUE框架、Servlet等,大众的数据库包含MySQL、SQLServer、Oracle、PostgreSQL等等。这些技术结合HTML都能够快速的开发网站,要完成毕业设计就要在其中选择一种或者多种最合适的技术以及数据库来进行开发,无论选择哪些种技术,都能够学习到最新的开发技术。在所难免,在开发的时候一定会遇到许多自己无法解决的问题,这个时候就需要自己积极的在网上以及图书馆寻找资料和开动自己的大脑来弥补自己开发能力的不足。
2、课堂理论结合实际操作
通过自己亲自动手开发,把课本上的纯理论的理论知识和现在社会飞速发展的知识结合起来。在实际的编写中提升自己的代码编写能力,巩固课本中涉及的Java知识,让自己能够提前体验开发的环境。
3、功能比较详细,体现知识点的熟悉程度
整个项目以开发一个完整的互联网网站为目标,虽然网站的规模不是特别的大,但是对于一个刚刚毕业的大学生来说规模已经不小了,加上功能细节的要求,这就需要我们有较强的课本理论知识和更强的动手能力,通过这样一个挂号网站的设计和开发能大大的缩短理论知识和实际的距离。
现今社会,计算机的普及程度已经很高,价格也十分的亲民,计算机的性能也在不断提高与进步,并且Internet的普及也越来越广。本挂号网站的开发体现了以下几个特点:
第一,本挂号网站的运行可以给各类型互联网用户带来很大的医疗便利,快速的进行挂号以及初步的诊断治疗;
第二,本挂号网站的运行大大提高了医院看诊的效率,节省很多在医院排队挂号时间,用户通过本网站能够不用去窗口就能快速挂号,大大提高医生就医效率;
第三,本挂号网站的运行可以大大的降低疫情期间感染的不确定性等等便利; 所以,本挂号网站在经济上是可行的。
本在线医院挂号系统的开发,我通过Idea作为这次毕业设计的开发工具,MySQl数据管理工具作为本次系统开发数据库,mysql它是一个能够支持很多的用户的一种新型的数据库,适用各类大中小规模的数据存储需求。Mysql保证了数据模块化存储的要求,当模块化存储能力的提高,有利于未来对在线医院挂号系统的扩展以及修改。
综合以上所述的mysql能力,在线医院挂号系统的设计以及开发在技术上以及硬件设备上的要求都是能够满足的,所以,在线医院挂号系统开发在技术上是没问题的。
本在线医院挂号系统采用了浏览器模式的用户界面,并且在线医院挂号系统是大家最熟悉的B/S操作模式,对于普通的有一般的电脑操作用户就可以很轻松的上手。而整个在线医院挂号系统采用的是友好的交互体验界面,简单明了,不需要用户对操作进行很深入的学习。所以,该在线医院挂号系统的操作是没问题的,能满足广大互联网用户希望通过网上预约快速挂号的需求。综合以上的几个优势,该在线医院挂号系统具有实际操作可行性。
本在线医院挂号系统作为一个互联网的快速预约并且挂号的网站,所需要的的资源是非常的小的,各类型用户的电脑无论是各种硬件以及软件都能够顺利满足打开条件,综上述苏,本在线医院挂号系统在运行上是没问题的。
本挂号网站为两人小组共同开发,在开发的过程中是不会涉及到有合同的签订、责任的划分等与法律方面相抵触的各类问题。所以,本在线医院挂号系统在法律上是没问题的。
当计算机的各种应用开始从复杂的计算问题到数据的传导与交互问题方向发展的时候,许多企业都努力的想建立一种完美的数据库运行的结构体系。Internet的出现给计算机的发展带来一次大的飞跃,当今社会各种企业的为了适应网络环境下的数据库应用,人们依据计算机的应用的特点和应用功能的划分方式,提出了一系列应用框架—主机/终端模式、客户机/服务器模式以及后来的的浏览器/服务器模式。在构造一个应用系统时,我们首先要考虑的是系统的体系结构,采用哪种结构取决于系统的网络环境、应用需求等因素。
JDBC 可有效的完成三件事:与数据库建立连接、发送、操作数据库的语句并处理结果。
JDBC API是一个Java API,可访问任意类型表列格数据,特别是存储在关系数据库当中的所有数据。
伴随java开发语言广泛的流行,其在web上的应用也越来越广,Tomcat作为一个不仅免费而且还开源的servlet容器,应用前景越来越好,Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量化的应用服务器,在中小型系统和并发访问用户不多的场合下被广泛使用,是开发和调试各类程序的一个很好的选择。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有很好的简单特性、面向对象的特性、分布式的特性、健壮性的特性、安全的特性、平台独立的特性与可移植的特性、多线程的特性、动态的特性等优势特点。Java不仅可以编写各类桌面的应用程序、Web类应用程序、分布式的系统和嵌入式的系统程序等等。
IDEA 的全称是 IntelliJ IDEA,是java语言开发的环境。IDEA在it界被大家认为是一款非常好的开发的工具,尤其是在各类型智能代码提示、代码的自动添加、重构、Java语言的支持、各类型的版本工具的整合、代码的分析、 创新的页面的设计等方面的功能可以说是非常的好用。 IDEA是JetBrains公司开发的产品,JetBrains公司的开发的人员以比较严谨著称。它的旗舰版还能够支持各类型的HTML语言,CSS语言,PHP语言,MySQL数据库,Python语言等等。
他的特色功能,IDEA所倡导的是智能的编码,减轻程序员开发的工作量,IDEA的特色的功能有以下:
1.智能选取: 它提供了很多的基于语法选择。
2.丰富导航模式它提供丰富导航样式。
3.历史功能:使用 它软件就能够完成任何的项目的文件历史的记录。
Spring Boot框架是由Pivotal公司开发的新框架,其设计的根本原因是为了简化Spring框架应用过程中搭建以及开发过程复杂的配置。这个框架使用了比较特殊方式来进行相关配置,使Java开发的人员不再需要各类型自定义样板配置。框架Spring Boo能够在蓬勃的发展互联网开发领域作为先锋。
MVC 的设计模式一般是指 MVC类型的框架, model通常是指数据的模型层, view通常是指是视图层, controller通常是指控制层。 MVC框架设计的目的是将数据的模型层和视图层相关的代码分离。
在 Web 实战项目的开发中,能够及时、正确地响应用户的请求是非常重要的。用户在网页上单击一个 URL 路径,这对 Web 服务器来说,相当于用户发送了一个请求。而获取请求后如何解析用户的输入,并执行相关处理逻辑,最终跳转至正确的页面显示反馈结果,这些工作往往是控制层(Controller)来完成的。在请求的过程中,用户的信息被封装在 User 实体类中,该实体类在 Web 项目中属于数据模型层(Model)。在请求显示阶段,跳转的结果网页就属于视图层(View)。像这样,控制层通常用来负责前台以及后台交互,数据的模型层封装各类用户相关的输入以及输出的数据,视图层通常是用来选择恰当的视图用啦显示最终执行结果,这种层次分明的Java开发过程以及处理模式称之为 MVC 开发模式。
总结如下:视图层:负责格式化数据、数据展示、页面交互、数据上下传流畅、界面样式设计等功能。
控制层:负责接收数据、转发请求,对请求进行处理后,指定视图并将结果传输到客户端。
数据模型层:模型对象拥有最多的处理任务,是程序主要的部分,它主要用来负责数据的逻辑的处理以及在数据库中各类存取数据。
图1.1 Springboot框架图
之前在使用传统Spring框架去做Java 的系统开发中,大量的 配置文件存在各类型的项目之中,导致开发的项目变得很是笨重,繁琐的配置以及第三方框架配置,导致整个开发以及项目的部署效率大大降低。Spring Boot 不是用来代替 Spring框架的,是用来提升所有 Spring 框架的开发人员开发工具。它集成了许多许多的常用第三方软件库,Spring Boot中这些软件库库几乎可以达到零配置即时可用,大部分的 Spring Boot 系统只需要要很少量配置就能够让Java开发人员启动项目。
通过LBMD引擎,让应用系统的开发变成固定化,形成一种新的开发者模式:用LEAP工具来搭建应用系统,也可以用LEAP来运行应用系统,从而达到资金量减少、减少工作量的前提下快速构建大型、复杂项目的目的。
通过LEAP提供“模型驱动”可以灵活部署仅用少量的代码就可以完成大型项目,大大的减少Java程序员工作量,还降低了bug的出现风险。
LEAP采用了SOA框架简化开发,还同时可使用二进制的开发机制,并且完整了SDK,也是众多程序员选择SpringBoot的原因。
bootstrap 是免费且开源的。代码托管、开发和维护都在同一个平台上直接处理完成的。你可以直接用预编的 CSS 文件快速开发,也可以从 Bootstrap 源码自定义一个自己想要的模块。一个框架、多种设备。你的网站和应用能在 Bootstrap 的帮助下通过同一份源码快速、有效地适各种设备,如:手机、平板、PC端等。这一切都是 CSS 媒体查询的效果。功能完整的Bootstrap 框架提供了各种各样优美的文档,你能在这里找到关于 HTML元素、HTML 和 CSS 组件以及 jQuery 插件等详细文档。
根据用户的需要,可以将整个挂号网站分解为前台和后台,并且,依据每个下属系统功能的不同,分别用来完成需求分析过程中的不同的要求。整体功能的结构如下图所示

图3-1 总体框架图
利用网站产品原型设计工具processon设计的挂号网站的原型图如下:

图3-2 系统原型图
本挂号网站中的各个子模块要能够分别满足各种功能的要求,并且要根据用户所属的角色不同设置不同的权限,这样既能够确保本系统数据的安全性,又能够避免数据被恶意篡改,以及用户的操作失误或者被混用而导致的系统的崩溃,影响挂号网站的运行效率。以下为挂号网站各个子系统的功能说明。
(1)后台人员管理模块:完成用户的增删改查,包含姓名、人员分类、账号。
(2)后台科室管理:科室信息增加、删除、修改等等功能。
(3)后台医生管理模块:可以对医生进行增加、删除、修改、查询。
(4)后台智能导诊管理模块:可以对智能导诊信息进行增加、删除、修改、查询。
(5)后台医院公告管理模块:可以对医院公告信息进行增加、删除、修改、查询。
(6)后台科室介绍的管理模块:可以对所有的科室介绍的信息进行相关的增加,删除,修改,查询。
(7)后台就诊指南管理的模块:可以对所有的就诊指南信息进行增加,删除,修改,查询。
(8)后台医院概述管理模块:可以对医院概述信息进行增加、删除、修改、查询。
3.4.1数据库环境说明
系统环境 :window10
应用数据库管理工具 :mysql 5.1.4 数据库
数据库访问接口 :JDBC
3.4.2 MySQL的优点
体积很小,速度很快,总体拥有低成本,并且开源,能够支持个性了的操作系统,是一款开源的数据库,它提供各类型接口,支持各类型语言的连接以及操作 。MySQL它的核心的程序采用的是多线程编程。线程是轻量级别的进程,它能偶灵活的为各类型用户很好的提供各类型服务,而且不需要过多系统的资源。用多线程以及C语言实现mysql能很轻充分的利用电脑的CPU;MySql它有一个非常灵活的安全的权限以及口令系统。当用户与MySql数据库连接时,他们之间的所有口令传输加密,而且MySql能偶支持主机的认证;可以利用用Access连接MySql的服务器, 这使的应用被广大的扩展;能偶支持大型数据库, 能够方便的支持各类型的数据库。作为开源代码数据库,能够针对不同应用进行各类型的修改;拥有一个非常快速以及稳定基于线程内存分配的系统,能够持续的使用并且不必担心它的稳定性,MySQL还可以提供高度多样性,可以提供很多的不同的使用界面。
3.4.3数据库的命名规则
数据库的命名全部采用英文格式。字母全要求小写。例如:database。
3.4.4数据库物理表设计
通过对模型,业务的对象和对象之间的关联分析,对此次挂号系统的数据库表进行了相应的设计。本系统数据库管理采用MySQL,数据库中包括8张表,分别为用户表、医院概述表、就诊指南表、科室介绍表、医院公告表、科室、智能导诊、就医表。
(1)用户表
用户表:本表保存了用户基本信息,主要包含的字段包括:用户姓名、用户账号密码、用户电话、用户角色等信息组成。表结构如下表所示。
表3.1 用户表
| 列名 | 数据类型 | 长度 | 是否主键 | 说明 |
| Userid | varchar | 255 | 是 | 主键id |
| Name | varchar | 255 | 否 | 姓名 |
| Account | varchar | 255 | 否 | 账号 |
| Password | varchar | 255 | 否 | 密码 |
| Phone | varchar | 255 | 否 | 电话 |
| Roles | varchar | 255 | 否 | 角色 |
(2)医院概述表
医院概述表:本表用于保存医院概述的基本信息,主要的字段包括:医院标题、医院内容、医院电话、时间等信息组成。表结构如下表所示。
表3.2 医院概述表
| 列名 | 数据类型 | 长度 | 是否主键 | 说明 |
| id | varchar | 255 | 是 | 主键id |
| title | varchar | 255 | 否 | 标题 |
| content | varchar | 255 | 否 | 内容 |
| createtime | varchar | 255 | 否 | 时间 |
(3)就诊指南表
就诊指南表:本表用于保存就诊指南的基本信息,主要字段包括:标题、内容、电话、时间等信息组成。表结构如下表所示。
表3.3 就诊指南表
| 列名 | 数据类型 | 长度 | 是否主键 | 说明 |
| id | varchar | 255 | 是 | 主键id |
| title | varchar | 255 | 否 | 标题 |
| content | varchar | 255 | 否 | 内容 |
| createtime | varchar | 255 | 否 | 时间 |
(4)科室介绍表
科室介绍表:本表用于保存科室介绍的基本信息,主要字段包括:标题、内容、电话、时间等信息组成。表结构如下表所示。
表3.4 科室介绍表
| 列名 | 数据类型 | 长度 | 是否主键 | 说明 |
| id | varchar | 255 | 是 | 主键id |
| title | varchar | 255 | 否 | 标题 |
| content | varchar | 255 | 否 | 内容 |
| createtime | varchar | 255 | 否 | 时间 |
(5)医院公告表
医院公告:本表用来保存医院公告相关基本信息,主要字段包括:医院标题、医院内容、电话、时间等信息组成。表的结构如下所示。
表3.5 医院公告表
| 列名 | 数据类型 | 长度 | 是否主键 | 说明 |
| id | varchar | 255 | 是 | 主键id |
| title | varchar | 255 | 否 | 标题 |
| content | varchar | 255 | 否 | 内容 |
| createtime | varchar | 255 | 否 | 时间 |
(6)科室表
科室表:本表用来保存科室基本信息,主要的字段包括:标题、等信息组成。表的结构如下所示。
表3.6 科室表
| 列名 | 数据类型 | 长度 | 是否主键 | 说明 |
| id | varchar | 255 | 是 | 主键id |
| mc | varchar | 255 | 否 | 标题 |
(7)智能导诊表
智能导诊表:本表用于保存智能导诊的基本信息,主要字段包括:症状名称、症状描述、推荐科室等信息组成。表结构如下表所示。
表3.7 智能导诊表
| 列名 | 数据类型 | 长度 | 是否主键 | 说明 |
| id | varchar | 255 | 是 | 主键id |
| mc | varchar | 255 | 否 | 症状名称 |
| ms | varchar | 255 | 否 | 症状描述 |
| bz | varchar | 255 | 否 | 推荐科室 |
(8)就医表
就医表:本表用于保存就医表的基本信息,主要字段包括:医生名称、医生编号、用户名称等信息组成。表结构如下表所示。
表3.8 就医表
| 列名 | 数据类型 | 长度 | 是否主键 | 说明 |
| id | varchar | 255 | 是 | 主键id |
| ysmc | varchar | 255 | 否 | 医生名称 |
| ysbh | varchar | 255 | 否 | 医生编号 |
| yhmc | varchar | 255 | 否 | 用户名称 |
| yhbh | varchar | 255 | 否 | 用户编号 |
| lb | varchar | 255 | 否 | 科室 |
| pz | varchar | 255 | 否 | 症状类型 |
| ghsj | varchar | 255 | 否 | 挂号时间 |
| clsj | varchar | 255 | 否 | 医生处理时间 |
| zd | varchar | 255 | 否 | 诊断结果 |
| cl | varchar | 255 | 否 | 处理结果 |
| ky | varchar | 255 | 否 | 开药信息 |