• 基于java+SpringBoot+HTML+MySQL医院挂号系统的设计与实现


    目录

    摘  要

    Abstract

    第一章  绪论

    1.1 项目研究背景

    1.2 选题的意义

    1.3 可行性分析

    1.3.1经济上的可行性

    1.3.2技术上的可行性

    1.3.3操作上的可行性

    1.3.4代码运行上的可行性

    1.3.5法律上的可行性

    第二章 开发环境

    2.1 数据库环境

    2.2 相关技术介绍

    2.2.1 JDBC详细介绍

    2.2.2 Tomcat介绍

    2.3 Java语言介绍

    2.4开发工具IDEA介绍

    2.5 开发框架Springboot

    2.5.1随需而变

    2.5.2快速实施

    2.6  bootstrap库详细介绍

    2.7  B/S结构

    第3章 总体设计

    3.1总体结构设计

    3.2原型设计

    3.3子模块的结构和功能

    3.4数据库设计

    第4章 详细设计

    4.1 系统的整体界面

    4.2网站的整体框架

    4.3功能设计与描述

    4.3.1 后台人员管理模块

    4.3.2 后台科室管理

    4.3.3 后台医生管理模块

    4.3.4 后台智能导诊管理模块

    4.3.5 后台管理医院公告等信息模块

    4.3.6个人信息修改

    致谢

    参考文献

    详细功能设计:

    基于java+SpringBoot+HTML+MySQL医院挂号系统的设计与实现_哔哩哔哩_bilibili

    源码+论文获取:

    源码+论文获取请私信获取

    第一章  绪论

    1.1 项目研究背景

    随着科学技术的飞速发展,人类社会正在快速的向信息化发展,二十一世纪是信息大发展的时代,Internet的发展更是给信息的传输带来了极大的便捷,PC网站作为现在Internet中极其重要的一员,它为工作单位,个人,国家政府部门的信息的传递和流通起到了巨大的作用。随着社会的进步,人类的发展,在线挂号在现在的生活中已经越来越普遍了。互联网不仅为生活提供便捷同时为我们为工作带来方便提高工作效率,而且还节省了许多物力财力,提高了文件传输的安全性,任务下达的明确性,学习时间安排的合理性。

    为了适应现代社会人们高度强烈的时间观念,挂号网站为现在的互联网用户带来了极大的方便。互联网用户只需要在网站首页输入你的病情,就可以轻松的找到你想挂的科室,根据科室找到想找的医生,实现自己挂号。对于各类型的互联网用户来说,利用互联网快速的挂号,是适应现代互联网发展的要求、挂号网站符合现在的科学化、规范化,人性化的必要条件;而且挂号网站的设计是一项非常复杂的事情,事情的繁琐,传统的方式极其不便,大大的降低了互联网用户的挂号效率。并且传统的线下挂号方式还存在着许多不便,传统的方式在实际情况下不可避免的会有许多人为因素,经常造成使用不便。线上的挂号系统有着传统方式没有的好处,例如信息储存量大、搜索方便等众多优点,以及处理信息快速快捷,同时也大大提升互联网用户学习的效率。现代互联网系统,还具有着传统方式所无法替代的优点。在现代化的进程中,引入现代的管理思想,建立一套可面向互联网用户的挂号网站是十分必要的。

    1.2 选题的意义

    独立设计和完成一个基于Java的挂号网站,将会面临到许多的技术上的困难,例如:数据库管理工具的选择、页面的设计和系统的开发、数据库的连接、动态页面的开发等等,通过实际意义上的的挂号系统的开发以及制作,可以避免纸上谈兵,巩固大学所学的Java Web方面的知识,在实际操作中能够掌握Java开发技术的实际使用,提升自己的实践操作能力。综上所述,完成这个设计的意义是重大的,其意义如下:

    1、培养自学和探索的能力,学习最新的技术

    目前Java Web开发流行的技术有JSP、jQuery框架、VUE框架、Servlet等,大众的数据库包含MySQL、SQLServer、Oracle、PostgreSQL等等。这些技术结合HTML都能够快速的开发网站,要完成毕业设计就要在其中选择一种或者多种最合适的技术以及数据库来进行开发,无论选择哪些种技术,都能够学习到最新的开发技术。在所难免,在开发的时候一定会遇到许多自己无法解决的问题,这个时候就需要自己积极的在网上以及图书馆寻找资料和开动自己的大脑来弥补自己开发能力的不足。

    2、课堂理论结合实际操作

    通过自己亲自动手开发,把课本上的纯理论的理论知识和现在社会飞速发展的知识结合起来。在实际的编写中提升自己的代码编写能力,巩固课本中涉及的Java知识,让自己能够提前体验开发的环境。

    3、功能比较详细,体现知识点的熟悉程度

    整个项目以开发一个完整的互联网网站为目标,虽然网站的规模不是特别的大,但是对于一个刚刚毕业的大学生来说规模已经不小了,加上功能细节的要求,这就需要我们有较强的课本理论知识和更强的动手能力,通过这样一个挂号网站的设计和开发能大大的缩短理论知识和实际的距离。

    1.3 可行性分析

    1.3.1经济上的可行性

    现今社会,计算机的普及程度已经很高,价格也十分的亲民,计算机的性能也在不断提高与进步,并且Internet的普及也越来越广。本挂号网站的开发体现了以下几个特点: 

        第一,本挂号网站的运行可以给各类型互联网用户带来很大的医疗便利,快速的进行挂号以及初步的诊断治疗; 

        第二,本挂号网站的运行大大提高了医院看诊的效率,节省很多在医院排队挂号时间,用户通过本网站能够不用去窗口就能快速挂号,大大提高医生就医效率; 

    第三,本挂号网站的运行可以大大的降低疫情期间感染的不确定性等等便利; 所以,本挂号网站在经济上是可行的。

    1.3.2技术上的可行性

    本在线医院挂号系统的开发,我通过Idea作为这次毕业设计的开发工具,MySQl数据管理工具作为本次系统开发数据库,mysql它是一个能够支持很多的用户的一种新型的数据库,适用各类大中小规模的数据存储需求。Mysql保证了数据模块化存储的要求,当模块化存储能力的提高,有利于未来对在线医院挂号系统的扩展以及修改。 

    综合以上所述的mysql能力,在线医院挂号系统的设计以及开发在技术上以及硬件设备上的要求都是能够满足的,所以,在线医院挂号系统开发在技术上是没问题的。

    1.3.3操作上的可行性

    本在线医院挂号系统采用了浏览器模式的用户界面,并且在线医院挂号系统是大家最熟悉的B/S操作模式,对于普通的有一般的电脑操作用户就可以很轻松的上手。而整个在线医院挂号系统采用的是友好的交互体验界面,简单明了,不需要用户对操作进行很深入的学习。所以,该在线医院挂号系统的操作是没问题的,能满足广大互联网用户希望通过网上预约快速挂号的需求。综合以上的几个优势,该在线医院挂号系统具有实际操作可行性。

    1.3.4代码运行上的可行性

    本在线医院挂号系统作为一个互联网的快速预约并且挂号的网站,所需要的的资源是非常的小的,各类型用户的电脑无论是各种硬件以及软件都能够顺利满足打开条件,综上述苏,本在线医院挂号系统在运行上是没问题的。

    1.3.5法律上的可行性

    本挂号网站为两人小组共同开发,在开发的过程中是不会涉及到有合同的签订、责任的划分等与法律方面相抵触的各类问题。所以,本在线医院挂号系统在法律上是没问题的。

    二章 开发环境

    2.1 数据库环境

    当计算机的各种应用开始从复杂的计算问题到数据的传导与交互问题方向发展的时候,许多企业都努力的想建立一种完美的数据库运行的结构体系。Internet的出现给计算机的发展带来一次大的飞跃,当今社会各种企业的为了适应网络环境下的数据库应用,人们依据计算机的应用的特点和应用功能的划分方式,提出了一系列应用框架—主机/终端模式、客户机/服务器模式以及后来的的浏览器/服务器模式。在构造一个应用系统时,我们首先要考虑的是系统的体系结构,采用哪种结构取决于系统的网络环境、应用需求等因素。

    2.2 相关技术介绍

    2.2.1 JDBC详细介绍

    JDBC 可有效的完成三件事:与数据库建立连接、发送、操作数据库的语句并处理结果。

    JDBC API是一个Java API,可访问任意类型表列格数据,特别是存储在关系数据库当中的所有数据。

    2.2.2 Tomcat介绍

      伴随java开发语言广泛流行,其在web上的应用也越来越广,Tomcat作为一个不仅免费开源的servlet容器,应用前景越来越好,Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量化的应用服务器,在中小型系统和并发访问用户不多的场合下被广泛使用,是开发和调试各类程序的一个很好的选择。

    2.3 Java语言介绍

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

    Java具有很好的简单性、面向对象的特性、分布式的特性、健壮性的特性、安全的特性、平台独立的特性与可移植的特性、多线程的特性、动态的特性等优势特点。Java不仅可以编写各类桌面应用程序、Web应用程序、分布式系统和嵌入式系统程序等

    2.4开发工具IDEA介绍

    IDEA 的全称是 IntelliJ IDEA,是java语言开发的环境。IDEA在it界被大家认为是一款非常好的开发工具,尤其各类型智能代码提示、代码自动添加、重构、Java语言的支持、各类型的版本工具整合、代码分析、 创新的页面的设计等方面的功能可以说是非常好用。 IDEA是JetBrains公司开发的产品,JetBrains公司开发人员以比较严谨著称。它的旗舰版还能够支持各类型的HTML语言,CSS语言,PHP语言,MySQL数据库,Python语言等等。

    他的特色功能IDEA所倡导的是智能编码,减轻程序员开发的工作量,IDEA的特色功能有以下 

    1.智能选取: 提供很多基于语法选择。

    2.丰富导航模式提供丰富导航样式。

    3.历史功能:使用 软件就能够完成任何项目的文件历史记录。

    2.5 开发框架Springboot

     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框架图

    2.5.1随需而变

        之前在使用传统Spring框架去做Java 的系统开发中,大量的 配置文件存在各类型的项目之中,导致开发的项目变得很是笨重,繁琐的配置以及第三方框架配置,导致整个开发以及项目的部署效率大大降低。Spring Boot 不是用来代替 Spring框架的,是用来提升所有 Spring 框架的开发人员开发工具。它集成了许多许多的常用第三方软件库,Spring Boot中这些软件库库几乎可以达到零配置即时可用,大部分的 Spring Boot 系统需要少量配置就能够Java开发人员启动项目。

    2.5.2快速实施

        通过LBMD引擎,让应用系统的开发变成固定化,形成一种新的开发者模式:用LEAP工具来搭建应用系统,也可以用LEAP来运行应用系统,从而达到资金量减少、减少工作量的前提下快速构建大型、复杂项目的目的。

    通过LEAP提供“模型驱动”可以灵活部署仅用少量的代码就可以完成大型项目,大大减少Java程序员工作量,还降低了bug的出现风险。

    LEAP采用了SOA框架简化开发,还同时可使用二进制的开发机制,并且完整了SDK,也是众多程序员选择SpringBoot的原因。

    2.6  bootstrap库详细介绍

    bootstrap 是免费且开源的。代码托管、开发和维护都在同一个平台上直接处理完成的。你可以直接用预编的 CSS 文件快速开发,也可以从 Bootstrap 源码自定义一个自己想要的模块。一个框架、多种设备。你的网站和应用能在 Bootstrap 的帮助下通过同一份源码快速、有效地适各种设备,如:手机、平板、PC端等。这一切都是 CSS 媒体查询的效果。功能完整的Bootstrap 框架提供了各种各样优美的文档,你能在这里找到关于 HTML元素、HTML 和 CSS 组件以及 jQuery 插件等详细文档。

    第3章 总体设计

    3.1总体结构设计

      根据用户的需要,可以将整个挂号网站分解为前台和后台,并且,依据每个下属系统功能的不同,分别用来完成需求分析过程中的不同的要求。整体功能的结构如下图所示

     

    图3-1 总体框架图

    3.2原型设计

        利用网站产品原型设计工具processon设计的挂号网站的原型图如下:

     

    图3-2 系统原型图

    3.3子模块的结构和功能

         本挂号网站中的各个子模块要能够分别满足各种功能的要求,并且要根据用户所属的角色不同设置不同的权限,这样既能够确保本系统数据的安全性,又能够避免数据被恶意篡改,以及用户的操作失误或者被混用而导致的系统的崩溃,影响挂号网站的运行效率。以下为挂号网站各个子系统的功能说明。 

       (1)后台人员管理模块:完成用户的增删改查,包含姓名、人员分类、账号。 

       (2)后台科室管理:科室信息增加、删除、修改等等功能。 

       (3)后台医生管理模块:可以对医生进行增加、删除、修改、查询。 

       (4)后台智能导诊管理模块:可以对智能导诊信息进行增加、删除、修改、查询。

       (5)后台医院公告管理模块:可以对医院公告信息进行增加、删除、修改、查询。

       (6)后台科室介绍的管理模块:可以对所有的科室介绍的信息进行相关的增加,删除,修改,查询。

       (7)后台就诊指南管理的模块:可以对所有的就诊指南信息进行增加,删除,修改,查询。

    (8)后台医院概述管理模块:可以对医院概述信息进行增加、删除、修改、查询。

    3.4数据库设计

    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

    开药信息

  • 相关阅读:
    Go 实战|使用 Wails 构建轻量级的桌面应用:仿微信登录界面 Demo
    LVS负载均衡集群
    基于Java+SpringBoot+Vue+uniapp点餐小程序(亮点:协同过滤算法、会员系统,购物车结算、在线聊天)
    写一个宏,计算结构体中某变量相对于首地址的偏移,并给出说明
    语法基础(变量、输入输出、表达式与顺序语句)
    leetcode 901. Online Stock Span(在线库存跨度)
    配置github
    WebElement 接口常用方法
    springboot+vue基于协同过滤算法的私人诊所管理系统的设计与实现【内含源码+文档+部署教程】
    python tkinter 使用(三)
  • 原文地址:https://blog.csdn.net/zag1069464798/article/details/126336962