每天记录学习,每天会有好心情。*^_^*
今天记录的项目是基于web的java病历管理系统,采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。
做基于web的java病历管理系统的时候,我们需要用到SSM(MYECLIPSE)框架,开发工具选用最拿手的MYECLIPSE。
基于web的java病历管理系统项目是一个 后台项目。
开发系统时,需求分析是必不可少的一个环节。基于web的java病历管理系统拥有的登录角色包括了管理员、病人、医生。
每个账号设置身份、账号、密码是必不可少的,管理员、病人、医生中都包含这些登录角色该有的字段。
病历的存在是为了能更好的结合系统的功能。医生表的联系在这张表中得以体现,其关联关系为病历的医生与医生的mingzi字段对应、病历的医生id与医生的id字段对应
。
总结得出基于web的java病历管理系统项目所有数据为:管理员(admin)、病人(bingren)、病历(bingli)、医生(yisheng)
基于web的java病历管理系统之管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于web的java病历管理系统之病人表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 病人id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 mingzi | VARCHAR(255) | | 名字
基于web的java病历管理系统之病历表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 病历id biaoti | VARCHAR(255) | | 标题 neirong | VARCHAR(255) | | 内容 shijian | VARCHAR(255) | | 时间 yisheng | VARCHAR(255) | | 医生 yishengid | VARCHAR(255) | | 医生id
基于web的java病历管理系统之医生表
字段名 | 类型 | 属性 | 描述 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 ggjywebdjavablglxt -- ---------------------------- 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='医生';
添加医生模块:
通过添加医生模块,可以完成医生的添加操作。在页面中跳转到添加医生页面,输入医生的所有信息,点击添加操作,可以将医生数据以post提交到yishengController中。医生所包含的字段信息包括名字,账号,密码,科室,简介。在yishengController中通过定义yisheng接受所有的医生参数。使用yishengdao的insert方法将yisheng实体插入到数据库中。完成数据的添加操作,在yishengMapper中匹配对应的yishengxml完成插入sql语句的执行操作。该部分核心代码如下:
通过yishengdao的insert方法将页面传输的医生添加到数据库中 yishengdao.insert(yisheng);
将添加医生成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加医生成功");
返回医生管理界面
return "forward:/tianjiayisheng.action";
查询医生模块:
在后台中定义医生查询模块,在侧边栏中点击医生管理,可以跳转到医生管理界面。在该页面中通过yishengController中定义yishengguanli响应医生查询模块。在yishengguanli中查询出所有信息,返回页面进行循环展示。查询方法为yishengdao中的selectByexample方法。该部分核心代码如下:
生成医生样例类,通过example定义查询条件 YishengExample example = new YishengExample();
通过yishengdao的selectByExample方法查询出所有的医生信息 List yishengall = yishengdao.selectByExample(example);
将医生信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("yishengall", yishengall);
返回医生管理界面
return "forward:/yishengguanli.action";
修改医生模块:
在页面完成医生的修改信息填写后,将该部分数据传入xiugaiyisheng.action地址,并通过post进行提交。提交后在yishengController中通过xiugaiyisheng进行接收,将所有字段封装为一个医生实体。并将该实体传入yishengdao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过医生id更新其余医生的字段,该部分字段包括名字,账号,密码,科室,简介,该部分核心代码如下所示:
通过yishengdao的修改方法根据id修改对应的医生 yishengdao.updateByPrimaryKeySelective(yisheng);
将修改医生成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改医生信息成功");
返回医生管理界面
return "forward:/yishengguanli.action";
删除医生模块:
在页面中通过a标签,shanchuyisheng?id=将id传入到后台中,通过shanchuyisheng接收医生id。使用deleteByid的方法
删除该医生,完成删除操作。定义删除成功提示信息,删除医生成功,并保存到request中,该部分代码如下:
通过yishengdao的删除方法根据id删除对应的医生 yishengdao.deleteByPrimaryKey(id);
将删除医生成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除医生成功");
返回医生管理界面
return "forward:/yishengguanli.action";