基于j2ee的网上医院预约挂号系统论文内容摘要:

间提供一个成功的企业级映射解决方案,尽最大可能弥补对象范例和关系范例之间的差异 [7]。 传统上, Hibernate 的配置依赖于外部 XML 文件:数据库映射被定义为一组 XML 映射文件,并且在启动时进行加载 [8]。 创建这些映射有很多方法,可以从已有数据库模式或 Java 类模型中自动创建,也可以手工创建。 无论如何,您最终将获得大量的 Hibernate 映射文件。 此外,还可以使用工具,通过 JavaDoc 样式的注释生成映射文件,尽管这样会给您的构建过程增加一个步骤 [9]。 7 图 31 Hibernate 映射图 Hibernate(图 31)使用数据库和配置文件数据来为应用程序提供持久化的服务和持久化的对象 [10]。 在应用层和数据库之间的持久层中,有 Hibernate 的持久对象,配置文件及映射文件。 我们在应用和数据库之间创建了持久层,是对操作数据部分的抽象。 它的任务是存储从应用到数据库的数据,数据的检索、更新和删除。 使用 Hibernate 对数据进行持久化操作,把数据库的表映射成类,把通常对表的操作变成 对对象的操作,这样我们就有了 “面向对象 ”的很多优点 [11]。 应用Hibernate 所做的工作其实很简单,这也是它很快流行的一个原因。 本章小结 本章主要介绍了 J2EE 及 Spring, Hibernate 框架。 基于 J2EE 平台的框架技术是目前开发 Web 应用的主流技术。 作为一种轻量级的 J2EE 框架, Spring 提供了一种有效的方式来建立和组织 J2EE 应用程序。 随着关系型数据库技术的成熟和面向对象技术广泛应用,使得 Hibernate 出现。 8 第 4 章 系统设计 系统设计可分为系统设计思想、系统功能模块划分、系 统结构设计。 系统设计思想 1.后台管理与前台显示模块分开 把后台管理员的管理模块和前台用户浏览、挂号模块独立分开,而又统一同一个数据库,这样可以让管理员方便维护数据,也便于前台用户操作。 2.页面使用设计 把页面中的一些常用的部分集成为模块,比如把页面的头和尾集成为模块,因为大部分的页面是用相同的头和尾页面,所以只要把头和尾组装起来就可以了。 系统功能模块划分 医院预约挂号系统可以划分:前台客户端界面的系统功能模块、后台管理界面的系统功能模块。 前台客户端界面的系统功能模块如图 41 所示。 图 41 前台客户端界面的系统功能模块图 客户端界面 (浏览 ,查询 等操作 ) 新闻信息 信息搜索 预约挂号 医院信息 健康知识 最新信息 患者互动 医生信息 医生信息 挂号信息 科室信息 用户注册 9 后台管理界面的系统功能模块如图 42 所示。 图 42 后台管理界面的系统功能模块图 系统结构设计 根据系统功能和系统特点 ,可得出如图 43 所示的系统结构设计图。 图 43 系统结构设计图 医院预约挂号系统 客户端界面 信息搜索 预约挂号 医院信息 科室信息 管理员 新闻信息 用户信息 医院信息 预约信息 新闻管理 栏目管理 普通用户 医生管理 科室管理 预约管理 预约设置 系统用户管理 医生信息 挂号信息 用户注册 新闻信息 患者互动 最新信息 健康知识 医生信息 管理员 (查询、编辑、修改、删除等操作 ) 新闻信息 医院信息 预约信息 用户信息 普通用户 预约设置 系统用户 预约管理 新闻管理 栏目管理 医生管理 科室管理 10 本章小结 本章主要分析了系统设计,系统设计可分为系统设计思想、系统功能模块划分、系统结构设计;主要说明了系统功能模块的划分为:前台客户端界面的系统功能模块、后台管理界面的系统功能模块。 11 第 5 章 数据库设计 当一个系统涉及数据库时,其运行效率、冗余程度、可靠性、稳定性等评价指标出了与上层代码有关外,更多地会受到底层数据库效率的影响。 因此,一个好的数据库设计能够让你的系统跑的更顺畅、稳定。 然而,设计一个规范的数据库需要一定的计算机专业知识,还要花一定的时间。 数据库设计的好坏对我们接下来编程起到很大的影响,一个好的数据库设计可以简化很多代码,给我们带来了很多编程上的方便,也可以节省很多时间。 数据库需求分析 医院预约挂号系统面向的对象有两个,既普通用户和管理员,所以数据库需求分析中就要考虑 两方面的因素。 对于普通用户来说,他们所关心的就是新闻信息的浏览、医院信息的浏览、信息搜索、预约挂号等。  新闻信息包括:健康知识、最新消息、患者互动等。  医院信息包括:医生信息、科室信息等。  信息搜索包括:医生信息搜索等,开始的时候预计站内的全部信息搜索,因为重复写类似的方法,代码量太大,所以没有实现,只实现医生信息搜索。  预约挂号包括:普通用户注册、挂号记录、取消挂号(主要是对已挂的号进行取消操作)、用户信息修改、挂号操作等。 普通用户主要是进行以上的功能操作,如对新闻信息的浏览,医院信息的浏览及搜索,预 约挂号操作等。 普通用户如果要网上预约挂号的话,如果没有注册过,可以在主页面注册,再登录后选择科室进行挂号,用户可以在登录后修改自己的信息、取消预约挂号、查看挂号记录等。 对于管理员来说,他们所关心的是如何对后台数据进行查询、添加、修改、删除等操作。 不同的管理员权限不同可以管理不同版块的内容。 一般可以分为:高级管理员、审核管理员、普通管理员。 高级管理员只有一个,可以管理后台全 12 部的功能模块;审核管理员可以内容进行添加和审核;普通管理员只能对内容进行添加。 以上是对管理员的需求分析,因为时间、技术各方面有限,本系 统只有一个高级管理员。 针对管理员有如下操作:  新闻信息管理:对新闻进行查询、编辑、删除、修改。  栏目信息管理:对新闻栏目进行查询、编辑、删除、修改。  医生信息管理:对医生信息进行查询、编辑、删除、修改。  预约设置管理:对预约设置进行查询、编辑、删除、修改。  科室信息管理:对科室信息进行查询、编辑、删除、修改。  预约信息管理:对预约信息进行查询、就诊(来医院挂号就诊)、解除(操作失误等时用)。  普通用户管理:对普通用户进行查询、注销、解除。 通过上述分析和需求总结,设计如下面所示的数据项和数据结构。  医生信息 ,数据项包括医生编号、所属科室、医生姓名、医生性别、医生照片、创建时间、职称、医生类别、从医年数、专业名称、学历、 Email、个人网站、简介等。  普通用户(就诊人信息),数据项包括用户编号、用户名、用户密码、曾用挂号、社保卡号、真实姓名、性别、联系电话、证件类型、证件号码、通信地址、邮编号码、注册时间、备注、修改时间、信誉分、用户状态等。  科室信息,数据项包括科室编号、科室名称、科室编码、科室描述、创建时间等。  新闻稿件,数据项包括新闻编号、标题、所属栏目、副标题、作者、稿件来源、创建时间、修改时间、失效 时间、稿件状态、内容、点击次数等。  新闻栏目,数据项包括栏目编号、栏目名称、栏目编码、栏目描述、创建时间、编辑者等。  预约信息,数据项包括预约信息编号、医生信息、普通用户、挂号时间、预约状态、出诊日期、出诊开始时段、出诊结束时段、挂号费、预约总数等。  系统用户,数据项包括系统用户编号、登录名、口令、姓名、性别、部 13 门、职务、 EMAIL、电话、创建时间、修改时间、用户状态等。 数据库 ER图设计 1.确定实体间的关系 首先确定各个实体之间的相互关系,这是设计好一个数据库的基础。 根据上面的设计规划 出有 7 个实体:医生信息实体、普通用户实体、科室信息实体、新闻稿件实体、新闻栏目实体、预约信息实体、系统用户实体。 实体间的关系如图 51 所示。 实体的部分属性省略,只画出实体主要的属性。 图 51 实体间的关系图 普通用户 系统用户 医生信息 科室信息 新闻栏目 新闻稿件 设置 预约信息 预约 所属 所属 1 n n 1 n 1 1 n 用户 ID 用户名 用户密码 预约 ID 预约日期 预约人数 医生 ID 医生姓名 新闻标题 新闻 ID 新闻内容 科室名称 科室 ID 栏目 ID 栏目名称 登录名 用户 ID 口令 14 2.将实体和关系转化为表 将各个角色的所有信息分别放在独立的表中,其中包括该角色的全部信息。 选定一字段作为主键,这个字段储存的信息在整个表中两两必须相异,也就是说表中不能出现 ID 相同的记录。 数据库逻辑结构设计 数据库逻辑结构设计也就是表的设计,这里有 7 个实体,所以要建立 7 张表:医生信息 表、普通用户表、预约信息表、科室信息表、新闻稿件表、新闻栏目表、系统用户表。 医生信息表里的属性:医生 ID、科室 ID、医生编号、医生姓名、医生性别、医生照片、创建时间、职称、医生类别、从医年数、专业名称、学历、 Email、个人网站、简介。 医生 ID 为主键,科室 ID 为外码。 如表 51 所示。 表 51 医生信息表 字段 含义 类型 长度 是否为空 备注 doctor_id 医生 ID int 11 N 主码 create_time 创建时间 datetime N doctor_brief 简介 varchar 200 N doctor_code 医生编号 varchar 20 N doctor_name 医生姓名 varchar 20 N doctor_ 个人网站 varchar 30 Y doctor_pic 医生照片 varchar 100 N doctor_post 职称 varchar 10 Y doctor_sex 医生性别 int 2 N doctor_specialty 专业名称 varchar 30 Y doctor_type 医生类别 int 2 N doctor_xl 学历 varchar 30 Y doctor_years 从医年数 int 5 N Email varchar 30 N subject_id 科室 ID int 11 N 外码 15 以下是建表 SQL 代码: CREATE TABLE `doctor_info` ( `doctor_id` int(11) NOT NULL auto_increment, `create_time` datetime NOT NULL, `doctor_brief` mediumtext, `doctor_code` varchar(30) NOT NULL, `doctor_name` varchar(30) NOT NULL, `doctor_` varchar(30) default NULL, `doctor_pic` varchar(100) NOT NULL, `doctor_post` varchar(10) default NULL, `doctor_sex` int(11) NOT NULL, `doctor_specialty` varchar(30) default NULL, `doctor_type` int(1。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。