今日思考,完成一个营养信息管理系统项目,需要实现哪些功能?
此类项目常见描述如下:
面向医院、养老院、护理院等医疗及健康管理机构,提供专业的营养信息系统解决方案和医学营养云服务方案。面向围手术期、肿瘤、肾病、慢性代谢性疾病及老年康复人群,提供有效且个性化的医学用途配方食品。
SSM(MYECLIPSE)框架及其适合本类项目,使用MVC的思想可以极大程度减少重复工作量。和SSM(MYECLIPSE)框架最配的开发工具是MYECLIPSE。MYECLIPSE集成了大量插件,可以更好的使用SSM(MYECLIPSE)进行项目的开发,使得项目开发时事半功倍。
通过对营养信息管理系统系统的仔细分析,可以得出营养信息管理系统系统是一个 后台项目。
在这样一个项目中,系统的登录角色是必不可少的,对每个登录角色设置账号、密码。以确保系统可以正常登录使用。SSM(MYECLIPSE)项目中包含的登录角色有管理员、用户。
总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、营养评估(yingyangpinggu)、运动信息(yundongxinxi)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
用户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 用户id xingming | VARCHAR(255) | | 姓名 nianling | VARCHAR(255) | | 年龄 xingbie | VARCHAR(255) | | 性别 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
营养评估表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 营养评估id yiban | VARCHAR(255) | | 一般 jige | VARCHAR(255) | | 及格 lianghao | VARCHAR(255) | | 良好 youxiu | VARCHAR(255) | | 优秀
运动信息表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 运动信息id riyundongliang | VARCHAR(255) | | 日运动量 yueyundongliang | VARCHAR(255) | | 月运动量 zhouyundongliang | VARCHAR(255) | | 周运动量
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggyingyangxinxiguanlixt -- ---------------------------- 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_yonghu`; CREATE TABLE `t_yonghu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`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_yingyangpinggu`; CREATE TABLE `t_yingyangpinggu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '营养评估id',`yiban` VARCHAR(255) DEFAULT NULL COMMENT '一般',`jige` VARCHAR(255) DEFAULT NULL COMMENT '及格',`lianghao` VARCHAR(255) DEFAULT NULL COMMENT '良好',`youxiu` VARCHAR(255) DEFAULT NULL COMMENT '优秀',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='营养评估'; -- ---------------------------- DROP TABLE IF EXISTS `t_yundongxinxi`; CREATE TABLE `t_yundongxinxi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '运动信息id',`riyundongliang` VARCHAR(255) DEFAULT NULL COMMENT '日运动量',`yueyundongliang` VARCHAR(255) DEFAULT NULL COMMENT '月运动量',`zhouyundongliang` VARCHAR(255) DEFAULT NULL COMMENT '周运动量',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='运动信息';
添加营养评估模块:
系统中存在添加营养评估功能,通过点击添加营养评估可以跳转到该功能模块,在该功能模块中,填写对应的营养评估信息。营养评估包含信息一般,及格,良好,优秀,填写完所有信息后,通过post方法将数据提交到tianjiayingyangpinggu.action中,该地址将在服务器中yingyangpingguController类中的tianjiayingyangpingguact方法中进行响应。响应结果为,获取所有的营养评估信息,封装一个yingyangpinggu类,使用yingyangpingguController类中定义的yingyangpinggudao的insert方法,将营养评估数据插入到数据库的yingyangpinggu表中。并给出用户提示信息,添加营养评估成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:
通过yingyangpinggudao的insert方法将页面传输的营养评估添加到数据库中 yingyangpinggudao.insert(yingyangpinggu);
将添加营养评估成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加营养评估成功");
返回营养评估管理界面
return "forward:/tianjiayingyangpinggu.action";
查询营养评估模块:
营养评估的查询模块实现方式为,在页面中发起yingyangpingguguanli.action请求。通过该请求,响应服务器yingyangpingguController类中的yingyangpingguguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的营养评估信息查询后,保存到request中的yingyangpingguall中,在页面中进行展示,返回yingyangpingguguanli.jsp,该部分核心代码如下所示:
生成营养评估样例类,通过example定义查询条件 YingyangpingguExample example = new YingyangpingguExample();
通过yingyangpinggudao的selectByExample方法查询出所有的营养评估信息 List yingyangpingguall = yingyangpinggudao.selectByExample(example);
将营养评估信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("yingyangpingguall", yingyangpingguall);
返回营养评估管理界面
return "forward:/yingyangpingguguanli.action";
修改营养评估模块:
在页面完成营养评估的修改信息填写后,将该部分数据传入xiugaiyingyangpinggu.action地址,并通过post进行提交。提交后在yingyangpingguController中通过xiugaiyingyangpinggu进行接收,将所有字段封装为一个营养评估实体。并将该实体传入yingyangpinggudao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过营养评估id更新其余营养评估的字段,该部分字段包括一般,及格,良好,优秀,该部分核心代码如下所示:
通过yingyangpinggudao的修改方法根据id修改对应的营养评估 yingyangpinggudao.updateByPrimaryKeySelective(yingyangpinggu);
将修改营养评估成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改营养评估信息成功");
返回营养评估管理界面
return "forward:/yingyangpingguguanli.action";
删除营养评估模块:
删除营养评估功能实现在yingyangpingguController中,实现方法为shanchuyingyangpinggu。在页面中通过get方法shanchuyingyangpinggu.action?Id的形式将需要删除的营养评估id上传到服务器中,响应对应的方法,调用yingyangpinggudao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:
通过yingyangpinggudao的删除方法根据id删除对应的营养评估 yingyangpinggudao.deleteByPrimaryKey(id);
将删除营养评估成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除营养评估成功");
返回营养评估管理界面
return "forward:/yingyangpingguguanli.action";