每天记录学习,每天会有好心情。*^_^*
今日思考,完成一个门诊就诊系统的设计与实现项目,需要实现哪些功能?
此类项目常见描述如下:
本文重点介绍了门诊就诊系统的设计与实现,采用C/S的开发模式,使用MYSQL数据库,运用JAVA语言编写代码.方便医生在使用系统的同时就能解决叫号,看诊,填写病历,病历入档等一系列操作.从而节省了患者就医时间,也提高了医生在门诊就诊过程中的工作效率和质量.
SSM(MYECLIPSE)框架及其适合本类项目,使用MVC的思想可以极大程度减少重复工作量。和SSM(MYECLIPSE)框架最配的开发工具是MYECLIPSE。MYECLIPSE集成了大量插件,可以更好的使用SSM(MYECLIPSE)进行项目的开发,使得项目开发时事半功倍。
通过对门诊就诊系统的设计与实现系统的仔细分析,可以得出门诊就诊系统的设计与实现系统是一个 后台项目。
在这样一个项目中,系统的登录角色是必不可少的,对每个登录角色设置账号、密码。以确保系统可以正常登录使用。SSM(MYECLIPSE)项目中包含的登录角色有管理员、病人。
为了完成系统的功能需要为病人设置就诊表,记录就诊信息。在就诊表中定义了两者的关联关系,其中就诊的病人与病人的mingzi字段对应、就诊的病人id与病人的id字段对应
。
总结得出该系统所有数据为:管理员(admin)、病人(bingren)、就诊(jiuzhen)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
病人表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 病人id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 xingbie | VARCHAR(255) | | 性别 nianling | VARCHAR(255) | | 年龄 jieshao | VARCHAR(255) | | 介绍
就诊表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 就诊id bingren | VARCHAR(255) | | 病人 bingrenid | VARCHAR(255) | | 病人id jiuzhenshijian | VARCHAR(255) | | 就诊时间 shuoming | VARCHAR(255) | | 说明
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggmenzhengjiuzheng -- ---------------------------- DROP TABLE IF EXISTS `t_admin`; CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '管理员id',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理员'; -- ---------------------------- DROP TABLE IF EXISTS `t_bingren`; CREATE TABLE `t_bingren` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '病人id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`jieshao` VARCHAR(255) DEFAULT NULL COMMENT '介绍',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='病人'; -- ---------------------------- DROP TABLE IF EXISTS `t_jiuzhen`; CREATE TABLE `t_jiuzhen` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '就诊id',`bingren` VARCHAR(255) DEFAULT NULL COMMENT '病人',`bingrenid` INT(11) DEFAULT NULL COMMENT '病人id',`jiuzhenshijian` VARCHAR(255) DEFAULT NULL COMMENT '就诊时间',`shuoming` VARCHAR(5000) DEFAULT NULL COMMENT '说明',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='就诊';
添加就诊模块:
系统中存在添加就诊功能,通过点击添加就诊可以跳转到该功能模块,在该功能模块中,填写对应的就诊信息。就诊包含信息病人,病人id,就诊时间,说明,填写完所有信息后,通过post方法将数据提交到tianjiajiuzhen.action中,该地址将在服务器中jiuzhenController类中的tianjiajiuzhenact方法中进行响应。响应结果为,获取所有的就诊信息,封装一个jiuzhen类,使用jiuzhenController类中定义的jiuzhendao的insert方法,将就诊数据插入到数据库的jiuzhen表中。并给出用户提示信息,添加就诊成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:
通过jiuzhendao的insert方法将页面传输的就诊添加到数据库中 jiuzhendao.insert(jiuzhen);
将添加就诊成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加就诊成功");
返回就诊管理界面
return "forward:/tianjiajiuzhen.action";
查询就诊模块:
在浏览器中进入就诊查询页面时,此时浏览器的地址栏为jiuzhenguanli.action,该地址将响应jiuzhenController类中的jiuzhenguanli,在该方法中,通过selectByexample方法获取所有的就诊信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:
生成就诊样例类,通过example定义查询条件 JiuzhenExample example = new JiuzhenExample();
通过jiuzhendao的selectByExample方法查询出所有的就诊信息 List jiuzhenall = jiuzhendao.selectByExample(example);
将就诊信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("jiuzhenall", jiuzhenall);
返回就诊管理界面
return "forward:/jiuzhenguanli.action";
修改就诊模块:
在页面完成就诊的修改信息填写后,将该部分数据传入xiugaijiuzhen.action地址,并通过post进行提交。提交后在jiuzhenController中通过xiugaijiuzhen进行接收,将所有字段封装为一个就诊实体。并将该实体传入jiuzhendao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过就诊id更新其余就诊的字段,该部分字段包括病人,病人id,就诊时间,说明,该部分核心代码如下所示:
通过jiuzhendao的修改方法根据id修改对应的就诊 jiuzhendao.updateByPrimaryKeySelective(jiuzhen);
将修改就诊成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改就诊信息成功");
返回就诊管理界面
return "forward:/jiuzhenguanli.action";
删除就诊模块:
在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该就诊
的id上传到服务器中,在服务器中通过jiuzhenController类中的shanchujiuzhen进行接收,之后调用jiuzhenMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:
通过jiuzhendao的删除方法根据id删除对应的就诊 jiuzhendao.deleteByPrimaryKey(id);
将删除就诊成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除就诊成功");
返回就诊管理界面
return "forward:/jiuzhenguanli.action";