2开发技术介绍
2.1 Java语言简介
Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的优势和广阔的前景,它是面向对象的,分布式的,动态的,具有平台无关性、安全性、健壮性。Java语言的基本语句语法和C++一样,但是它面向对象的技术更加彻底,因为Java要求将所有的内容都必须封装成类,把类作为程序的基本单位。由于不允许类外有变量、方法。 Java语言的分布式体现在数据分布和操作分布,它是面向网络的语言,可以处理TCP/IP协议,它也支持客户机/服务器的计算模式。Java语言的动态性是指类在运行时是动态安装的,使得Java可以动态的维护程序。Java不支持指针,对内存访问的所有操作都是通过对象实例化实现的,这样就避免了指针操作中易产生的错误,同时也预防了病毒对系统的破坏和威胁。
Java语言的编程风格与C语言非常接近,它继承了C++面向对象技术的核心,它面世之后发展迅速,非常流行,对高级C语言形成了很大的冲击。业内人士称之为“一次编译、到处执行”。当然java也有缺点,在每次执行编译后,字节码都需要消耗一定的时间,在某些程度上降低了性能。但是这并不影响java成为此次设计语言的选择。Java语言简单易学,使用它的编程时间短,功能性强,开发者学习起来更简便、更快。Java的主要特性有以下几个:
1.面向对象
面向对象有四个特点:封装、继承、多态、抽象。抽象是指忽略一个问题中的次要部分,关注主要部分。多态是指对同一种消息做出的不同反应。继承是指在原有的父类方法基础上增加自己独有的方法,而不改变原来父类。
2.平台无关性
Java编译出来的是字节码,直接由虚拟机执行。在任何平台上,只要有Java虚拟机,Java代码都能运行。
3.可靠性和安全性
Java对内存的访问都必须通过对象的实例变量来实现,避免了指针中出现的错误。
4.多线程
Java提供了多线程功能,利用编程实现同一时间同时工作的功能。
2.2 MySql数据库
在软件项目,通过经营性数据的数据库,可以保证其安全,独立和数据一致,访问数据的系统来提供,所以有效减少时间程序员开发应用程序。
MySQL可以支持多线程,可以方便使用系统的资源,提高运行的速度。并提供odbc、jdbc和tcp/ ip,以各种形式连接到MySQL; 功能方面表现欠缺,规模小,但对于这个系统就足够了。
因为MySQL是源代码对外开放的,所以任何人都可以通过相应的方法下载,并根据个性化需求进行修改。由于MySQL的速度,可靠性和适应性,MySQL受到重视。
MySQL虽然功能可能不是很强大,但由于其开源,广泛传播,导致很多人都意识到这个数据库。
2.3 MySQL环境配置
本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。
修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:
cd C:\Program Files\MySQL\bin
MySQLadmin -u root -p password 123
回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。
2.4 B/S结构
B/S的系统是通过能上网的电脑就可以使用,它最大的优点是不需要安装专门的软件,首先浏览器向服务器发出请求,然后服务器处理请求把信息再返回给浏览器。不需要再次对数据进行存取与计算数据,只要负责显示数据来降低要求,如果说客户端像个“瘦子”,而服务器会越来越“胖”。B/S体系结构与C/S体系结构相比,最大的不同是:B/S体系的应用软件使用网络浏览器作为与用户交互的平台,而C/S则需要开发专用的应用程序。
图2-1 B/S结构图
2.5SpringBoot框架
SpringBoot是一个全新开源的轻量级框架。基于Spring4.0设计,其不仅继承了Spring框架原来有的优秀特性,而且还通过简化配置文件来进一步简化了Spring应用的整个搭建以及开发过程。另外在原本的Spring中由于随着项目的扩大导入的jar包数量越来越大,随之出现了jar包版本之间的兼容性问题,而此时SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性问题得到了很好的解决。
SpringBoot可以看做是Spring的加强版本,但实质上都是Spring的相关技术,有了这些优秀的开源框架,程序员在开发过程中将事半功倍。
4系统总体设计
4.1系统结构
会员制医疗预约服务管理信息系统,它是一个由人、电脑及其他组件构成的,一种能够收集、存储、加工、传送信息的系统。该系统可以帮助决策者找出当前急需解决的问题,然后将信息快速的反馈,使管理人员能够以最快的时间知道目前的现状,进行更进一步的计划。
当前MIS系统结构目前存在两种较为流行的结构:C/S和B/S两种。
C/S结构的系统:C/S结构就是客户机服务器结构,它可以法派任务到Client端和Server端来进行,充分利用两端硬件环境的优势,来降低系统的通讯的花费。客户端主要作用是处理人机交互,执行客户端应用程序,收集数据以及向服务器发送任务请求。服务器基本作用是执行后台程序,它主要对客户机的请求申请进行反馈,除此之外,它的作用还包括:数据库存储系统的共享管理、通讯管理、文件管理等等。
B/S结构的系统:这种网络结构简化了客户端,并把系统功能实现的中心集中到服务器上,在这种模式中,只需要一个浏览器就可以了。这种结构将很多的工作交于WEB服务器,只通过浏览器请求WEB服务,随后根据请求返回信息。
通常在只在企业网内部使用,采用C/S。而使用不仅限于内网的情况下使用B/S。考虑到本管理系统的一系列需求,所以,该系统开发使用B/S结构开发。其主要功能结构如下图所示。
图4-1系统总体功能结构图
4.2数据库设计
数据库设计是指为系统提供最优化的数据库模式,使得应用程序能够有效的存储数据,满足用户的各类需求。
4.2.1 数据库概念结构设计
概念结构设计是根据用户需求形成的。用最常的E-R方法描述数据模型进行数据库的概念设计,首先设计局部的E-R模式,最后各局部ER模式综合成一个全局模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,设计复杂程度降低,不受特定DBMS的限制。
1.所有实体和属性的定义如下所示。
医院信息管理实体属性图,如图4-2所示:
图4-2医院信息管理实体属性图
药品信息管理实体属性图,如图4-3所示:
图4-3药品信息管理实体属性图
4.2.2数据库逻辑结构设计
根据E-R得出数据库包涵了以下几张数据表来实现了对数据库的存储、调用。以下分别列出数据表的每个字段名、数据类型、主外键及备注。
表4-1:挂号预约
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yuyuebianhao varchar 200 预约编号
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
yiyuanmingcheng varchar 200 医院名称
yiyuandizhi varchar 200 医院地址
keshimingcheng varchar 200 科室名称
keshidizhi varchar 200 科室地址
guahaofei varchar 200 挂号费
yuyueriqi date 预约日期
yuyuebeizhu varchar 200 预约备注
zhanghao varchar 200 账号
xingming varchar 200 姓名
shoujihaoma varchar 200 手机号码
sfsh varchar 200 是否审核 否
shhf longtext 4294967295 审核回复
ispay varchar 200 是否支付 未支付
表4-2:条形码机
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
mingcheng varchar 200 名称
tupian varchar 200 图片
zhanghao varchar 200 账号
xingming varchar 200 姓名
beizhu varchar 200 备注
表4-3:使用须知
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
biaoti varchar 200 标题
neirong longtext 4294967295 内容
表4-4:住院信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
yiyuanmingcheng varchar 200 医院名称
keshimingcheng varchar 200 科室名称
zhuyuanmingcheng varchar 200 住院名称
feiyong int 费用
zhuyuanriqi date 住院日期
zhuyuanbeizhu longtext 4294967295 住院备注
zhanghao varchar 200 账号
xingming varchar 200 姓名
ispay varchar 200 是否支付 未支付
表4-5:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-6:就诊引导
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture varchar 200 图片
content longtext 4294967295 内容
表4-7:诊断信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
yiyuanmingcheng varchar 200 医院名称
keshimingcheng varchar 200 科室名称
zhenduanmingcheng varchar 200 诊断名称
bingqingjilu longtext 4294967295 病情记录
zhenduanneirong longtext 4294967295 诊断内容
zhanghao varchar 200 账号
xingming varchar 200 姓名
zhenduanriqi date 诊断日期
表4-8:处方信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
yiyuanmingcheng varchar 200 医院名称
keshimingcheng varchar 200 科室名称
chufangmingcheng varchar 200 处方名称
yaopinmingcheng varchar 200 药品名称
danjia int 单价
shuliang int 数量
jine int 金额
zhanghao varchar 200 账号
xingming varchar 200 姓名
beizhu longtext 4294967295 备注
caozuoriqi date 操作日期
ispay varchar 200 是否支付 未支付
表4-9:科室信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
keshimingcheng varchar 200 科室名称
keshidizhi varchar 200 科室地址
表4-10:在线咨询
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
zixunneirong varchar 200 咨询内容
zhanghao varchar 200 账号
xingming varchar 200 姓名
zixunriqi date 咨询日期
表4-11:疾控通知
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
biaoti varchar 200 标题
fengmian varchar 200 封面
zhuyishixiang varchar 200 注意事项
jianjie longtext 4294967295 简介
neirong longtext 4294967295 内容
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
faburiqi date 发布日期
表4-12:医院信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yiyuanmingcheng varchar 200 医院名称
yiyuandizhi varchar 200 医院地址
yiyuantupian varchar 200 医院图片
yuanzhang varchar 200 院长
chenglishijian date 成立时间
lianxidianhua varchar 200 联系电话
yiyuanjianjie longtext 4294967295 医院简介
yiyuanxiangqing longtext 4294967295 医院详情
表4-13:医生
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
gonghao varchar 200 工号
mima varchar 200 密码
yishengxingming varchar 200 医生姓名
xingbie varchar 200 性别
shenfenzheng varchar 200 身份证
shoujihaoma varchar 200 手机号码
xiangpian varchar 200 相片
yiyuanmingcheng varchar 200 医院名称
yiyuandizhi varchar 200 医院地址
keshimingcheng varchar 200 科室名称
keshidizhi varchar 200 科室地址
表4-14:健康资讯
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
zixunbiaoti varchar 200 资讯标题
zixunfengmian varchar 200 资讯封面
zixunleixing varchar 200 资讯类型
zixunjianjie longtext 4294967295 资讯简介
zixunneirong longtext 4294967295 资讯内容
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
faburiqi date 发布日期
表4-15:药品信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yaopinmingcheng varchar 200 药品名称
yaopintupian varchar 200 药品图片
yaopinjianjie longtext 4294967295 药品简介
yaopingongxiao varchar 200 药品功效
fuyongfangshi varchar 200 服用方式
danjia int 单价
shengchanshang varchar 200 生产商
表4-16:健康档案
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
danganbianhao varchar 200 档案编号
zhanghao varchar 200 账号
xingming varchar 200 姓名
shengaocm varchar 200 身高cm
tizhongkg varchar 200 体重kg
xueyapa varchar 200 血压pa
xuetangg varchar 200 血糖g
tiwen varchar 200 体温
shuimianshijian varchar 200 睡眠时间
yundongqingkuang varchar 200 运动情况
fujian varchar 200 附件
beizhu varchar 200 备注
dengjiriqi date 登记日期
表4-17:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
表4-18:检测结果
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
jiancemingcheng varchar 200 检测名称
jiancedidian varchar 200 检测地点
jianceleixing varchar 200 检测类型
feiyong varchar 200 费用
zhanghao varchar 200 账号
xingming varchar 200 姓名
jiancejieguo varchar 200 检测结果
beizhu varchar 200 备注
fasongriqi date 发送日期
表4-19:会员
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
zhanghao varchar 200 账号
mima varchar 200 密码
xingming varchar 200 姓名
xingbie varchar 200 性别
shenfenzheng varchar 200 身份证
shoujihaoma varchar 200 手机号码
xiangpian varchar 200 相片
表1-20:token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP
表4-21:核酸预约
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
jiancemingcheng varchar 200 检测名称
jiancedidian varchar 200 检测地点
jianceleixing varchar 200 检测类型
feiyong varchar 200 费用
zhanghao varchar 200 账号
xingming varchar 200 姓名
shenqingyuanyin varchar 200 申请原因
shenqingriqi date 申请日期
sfsh varchar 200 是否审核 否
shhf longtext 4294967295 审核回复
ispay varchar 200 是否支付 未支付
表4-22:体检信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
tijianmingcheng varchar 200 体检名称
tijianneirong longtext 4294967295 体检内容
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
keshimingcheng varchar 200 科室名称
zhanghao varchar 200 账号
xingming varchar 200 姓名
shoujihaoma varchar 200 手机号码
beizhu varchar 200 备注
faburiqi date 发布日期
表4-23:坐诊信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
xingbie varchar 200 性别
yiyuanmingcheng varchar 200 医院名称
yiyuandizhi varchar 200 医院地址
keshimingcheng varchar 200 科室名称
keshidizhi varchar 200 科室地址
xiangpian varchar 200 相片
guahaofei int 挂号费
yishengjianjie longtext 4294967295 医生简介
sfsh varchar 200 是否审核 否
shhf longtext 4294967295 审核回复
表4-24:核酸检测
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
jiancemingcheng varchar 200 检测名称
jiancefengmian varchar 200 检测封面
jiancedidian varchar 200 检测地点
jianceleixing varchar 200 检测类型
zhuyishixiang longtext 4294967295 注意事项
feiyong int 费用
faburiqi date 发布日期
表4-25:体检报告
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
tijianmingcheng varchar 200 体检名称
tijianbaogao varchar 200 体检报告
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
keshimingcheng varchar 200 科室名称
zhanghao varchar 200 账号
xingming varchar 200 姓名
shoujihaoma varchar 200 手机号码
beizhu varchar 200 备注
tixingxinxi varchar 200 提醒信息
fasongriqi date 发送日期
表4-26:咨询回复
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
zixunneirong varchar 200 咨询内容
huifuneirong longtext 4294967295 回复内容
zhanghao varchar 200 账号
xingming varchar 200 姓名
huifuriqi date 回复日期
表4-27:收藏表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
refid bigint 收藏id
tablename varchar 200 表名
name varchar 200 收藏名称
picture varchar 200 收藏图片
type varchar 200 类型(1:收藏,21:赞,22:踩) 1
inteltype varchar 200 推荐类型