javaweb病历信息管理系统

今日思考,完成一个基于javaweb的病历信息管理系统项目,需要实现哪些功能?
采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。
SSM(MYECLIPSE)框架及其适合基于javaweb的病历信息管理系统,使用MVC的思想可以极大程度减少重复工作量。和SSM(MYECLIPSE)框架最配的开发工具是MYECLIPSE。MYECLIPSE集成了大量插件,可以更好的使用SSM(MYECLIPSE)进行项目的开发,使得项目开发时事半功倍。
通过对基于javaweb的病历信息管理系统系统的仔细分析,可以得出基于javaweb的病历信息管理系统系统是一个 后台项目。
在这样一个项目中,系统的登录角色是必不可少的,对每个登录角色设置账号、密码。以确保系统可以正常登录使用。SSM(MYECLIPSE)项目中包含的登录角色有管理员、病人、医生。
在系统中许多表之间是存在关联的,例如医生与病历。在病历表中关联了前者之间的关系,其关联关系为病历的医生与医生的mingzi字段对应、病历的医生id与医生的id字段对应

总结得出基于javaweb的病历信息管理系统项目所有数据为:管理员(admin)、病人(bingren)、病历(bingli)、医生(yisheng)

基于javaweb的病历信息管理系统之管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

基于javaweb的病历信息管理系统之病人表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 病人id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
mingzi | VARCHAR(255) | | 名字

基于javaweb的病历信息管理系统之病历表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 病历id
biaoti | VARCHAR(255) | | 标题
neirong | VARCHAR(255) | | 内容
shijian | VARCHAR(255) | | 时间
yisheng | VARCHAR(255) | | 医生
yishengid | VARCHAR(255) | | 医生id

基于javaweb的病历信息管理系统之医生表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 医生id
mingzi | VARCHAR(255) | | 名字
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
keshi | VARCHAR(255) | | 科室
jianjie | VARCHAR(255) | | 简介
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for ggjyjavawebdblxxglxt

-- ----------------------------

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',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='病人';

-- ----------------------------

DROP TABLE IF EXISTS `t_bingli`;

CREATE TABLE `t_bingli` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '病历id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`neirong` VARCHAR(5000) DEFAULT NULL COMMENT '内容',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',`yisheng` VARCHAR(255) DEFAULT NULL COMMENT '医生',`yishengid` INT(11) DEFAULT NULL COMMENT '医生id',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='病历';

-- ----------------------------

DROP TABLE IF EXISTS `t_yisheng`;

CREATE TABLE `t_yisheng` (`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 '密码',`keshi` VARCHAR(255) DEFAULT NULL COMMENT '科室',`jianjie` VARCHAR(5000) DEFAULT NULL COMMENT '简介',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='医生';

添加病历模块:

在bingliController中定义tianjiabingliact接收页面传入的病历参数,定义为bingli。其中bingli包含字段:标题,内容,时间,医生,医生id,使用tianjiabingliact将该病历对象存入数据库中,在bingliMapper中定义了insert方法,匹配数据库中的insert into bingli语句实现将病历数据存入数据库的操作。该部分核心代码如下:

通过binglidao的insert方法将页面传输的病历添加到数据库中 binglidao.insert(bingli);

将添加病历成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加病历成功");

返回病历管理界面

return "forward:/tianjiabingli.action";

查询病历模块:

在浏览器中进入病历查询页面时,此时浏览器的地址栏为bingliguanli.action,该地址将响应bingliController类中的bingliguanli,在该方法中,通过selectByexample方法获取所有的病历信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:

生成病历样例类,通过example定义查询条件 BingliExample example = new BingliExample();

通过binglidao的selectByExample方法查询出所有的病历信息 List bingliall = binglidao.selectByExample(example);

将病历信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("bingliall", bingliall);

返回病历管理界面

return "forward:/bingliguanli.action";

修改病历模块:

点击修改按钮,可以跳转到病历修改页面。在病历修改页面中,将初始化该病历的所有信息,并将信息一一对应填充到对应编辑栏中。编辑完病历信息后,页面通过post方法将数据封装为一个病历实体,传入到bingliController中。在xiugaibingli中进行接收,接收完毕后,调用bingliMapper中的updateByPrimaryKeySelective方法进行修改。该部分代码如下:

通过binglidao的修改方法根据id修改对应的病历 binglidao.updateByPrimaryKeySelective(bingli);

将修改病历成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改病历信息成功");

返回病历管理界面

return "forward:/bingliguanli.action";

删除病历模块:

删除病历功能的实现方式为,通过点击删除病历按钮,向服务器发起get请求。请求中包含病历的id信息,在bingliController中使用int接受该id,并将该id传入binglidao的deleteByPrimaryKey方法中。该方法的作用为根据id删除对应病历。最后将删除病历成功的信息返回页面,该部分核心代码如下:

通过binglidao的删除方法根据id删除对应的病历 binglidao.deleteByPrimaryKey(id);

将删除病历成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除病历成功");

返回病历管理界面

return "forward:/bingliguanli.action";

源码下载

猜你喜欢

转载自www.cnblogs.com/zxkxbz/p/11686575.html