每天记录学习,每天会有好心情。*^_^*
在学习住院信息管理系统项目的时候,方便日后能及时查阅,在本平台中记录一下该项目的开发流程。在学习时候的选用了SSM(MYECLIPSE),这个框架不论是学习还是使用都非常方便,简单易上手。是我们学习编程可以重点学习的一个框架,我在开发住院信息管理系统项目的时候选用了MYECLIPSE来搭建SSM(MYECLIPSE)框架,最终将住院信息管理系统项目开发为了一个 后台项目。
该项目具有的用户角色包括了管理员、病人,每个角色都含有自己的登录账号和密码。
系统中病人之间存在关联关系,我们将其关联关系保存在住院表中。他们的关联关系是这样的住院的病人与病人的mingzi字段对应
。
总结得出该系统所有数据为:管理员(admin)、病人(bingren)、住院(zhuyuan)、药品(yaopin)
管理员表
字段名 | 类型 | 属性 | 描述 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) | | 密码 jieshao | VARCHAR(255) | | 介绍 yue | VARCHAR(255) | | 余额
住院表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 住院id bingren | VARCHAR(255) | | 病人 bingrenid | VARCHAR(255) | | 病人id kaishishijian | VARCHAR(255) | | 开始时间 jeishushijian | VARCHAR(255) | | 结束时间 huafei | VARCHAR(255) | | 花费
药品表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 药品id mingcheng | VARCHAR(255) | | 名称 jieshao | VARCHAR(255) | | 介绍 shuliang | VARCHAR(255) | | 数量 jiage | VARCHAR(255) | | 价格
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggzhuyuanguanli -- ---------------------------- 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 '密码',`jieshao` VARCHAR(5000) DEFAULT NULL COMMENT '介绍',`yue` VARCHAR(255) DEFAULT NULL COMMENT '余额',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='病人'; -- ---------------------------- DROP TABLE IF EXISTS `t_zhuyuan`; CREATE TABLE `t_zhuyuan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '住院id',`bingren` VARCHAR(255) DEFAULT NULL COMMENT '病人',`bingrenid` INT(11) DEFAULT NULL COMMENT '病人id',`kaishishijian` VARCHAR(255) DEFAULT NULL COMMENT '开始时间',`jeishushijian` VARCHAR(255) DEFAULT NULL COMMENT '结束时间',`huafei` VARCHAR(255) DEFAULT NULL COMMENT '花费',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='住院'; -- ---------------------------- DROP TABLE IF EXISTS `t_yaopin`; CREATE TABLE `t_yaopin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '药品id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',`jieshao` VARCHAR(5000) DEFAULT NULL COMMENT '介绍',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='药品';
添加药品模块:
在yaopinController中定义tianjiayaopinact接收页面传入的药品参数,定义为yaopin。其中yaopin包含字段:名称,介绍,数量,价格,使用tianjiayaopinact将该药品对象存入数据库中,在yaopinMapper中定义了insert方法,匹配数据库中的insert into yaopin语句实现将药品数据存入数据库的操作。该部分核心代码如下:
通过yaopindao的insert方法将页面传输的药品添加到数据库中 yaopindao.insert(yaopin);
将添加药品成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加药品成功");
返回药品管理界面
return "forward:/tianjiayaopin.action";
查询药品模块:
在后台中定义药品查询模块,在侧边栏中点击药品管理,可以跳转到药品管理界面。在该页面中通过yaopinController中定义yaopinguanli响应药品查询模块。在yaopinguanli中查询出所有信息,返回页面进行循环展示。查询方法为yaopindao中的selectByexample方法。该部分核心代码如下:
生成药品样例类,通过example定义查询条件 YaopinExample example = new YaopinExample();
通过yaopindao的selectByExample方法查询出所有的药品信息 List yaopinall = yaopindao.selectByExample(example);
将药品信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("yaopinall", yaopinall);
返回药品管理界面
return "forward:/yaopinguanli.action";
修改药品模块:
对已经上传的药品信息可以进行修改操作,该部分操作在药品管理界面中点击修改按钮可以跳转到药品修改页面。在修改页面中,将初始化所有的药品字段信息,字段信息包括名称,介绍,数量,价格。字段信息内容通过药品id获取。修改后的信息传入到yaopinController中接收为yaopin。在yaopinController中包含有提前定义好的yaopindao,该参数为yaopinMapper是实现。yaopinMapper中定义了修改方法,此处使用修改方法为updateByPrimaryKeySelective,该方法可以将修改后信息同步到数据库中,最终将修改成功信息返回页面中。该部分代码如下:
通过yaopindao的修改方法根据id修改对应的药品 yaopindao.updateByPrimaryKeySelective(yaopin);
将修改药品成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改药品信息成功");
返回药品管理界面
return "forward:/yaopinguanli.action";
删除药品模块:
删除药品功能实现在yaopinController中,实现方法为shanchuyaopin。在页面中通过get方法shanchuyaopin.action?Id的形式将需要删除的药品id上传到服务器中,响应对应的方法,调用yaopindao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:
通过yaopindao的删除方法根据id删除对应的药品 yaopindao.deleteByPrimaryKey(id);
将删除药品成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除药品成功");
返回药品管理界面
return "forward:/yaopinguanli.action";