在学习报警系统项目的时候,方便日后能及时查阅,在本平台中记录一下该项目的开发流程。在学习时候的选用了SSM(MYECLIPSE),这个框架不论是学习还是使用都非常方便,简单易上手。是我们学习编程可以重点学习的一个框架,我在开发报警系统项目的时候选用了MYECLIPSE来搭建SSM(MYECLIPSE)框架,最终将报警系统项目开发为了一个 后台项目。
该项目具有的用户角色包括了管理员、用户,每个角色都含有自己的登录账号和密码。
总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、种类(zhonglei)、报警方式(baojingfangshi)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
用户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 用户id xignming | VARCHAR(255) | | 姓名 nianling | VARCHAR(255) | | 年龄 xingbie | VARCHAR(255) | | 性别 zhiwu | VARCHAR(255) | | 职务 quanxian | VARCHAR(255) | | 权限 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
种类表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 种类id huozai | VARCHAR(255) | | 火灾 jiaotongshigu | VARCHAR(255) | | 交通事故 gongshangshigu | VARCHAR(255) | | 工伤事故 ziranzaihai | VARCHAR(255) | | 自然灾害
报警方式表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 报警方式id shengguangbaojing | VARCHAR(255) | | 声光报警 dianhuabaojing | VARCHAR(255) | | 电话报警
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggbaojingxitong -- ---------------------------- 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',`xignming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`zhiwu` VARCHAR(255) DEFAULT NULL COMMENT '职务',`quanxian` 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_zhonglei`; CREATE TABLE `t_zhonglei` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '种类id',`huozai` VARCHAR(255) DEFAULT NULL COMMENT '火灾',`jiaotongshigu` VARCHAR(255) DEFAULT NULL COMMENT '交通事故',`gongshangshigu` VARCHAR(255) DEFAULT NULL COMMENT '工伤事故',`ziranzaihai` VARCHAR(255) DEFAULT NULL COMMENT '自然灾害',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='种类'; -- ---------------------------- DROP TABLE IF EXISTS `t_baojingfangshi`; CREATE TABLE `t_baojingfangshi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '报警方式id',`shengguangbaojing` VARCHAR(255) DEFAULT NULL COMMENT '声光报警',`dianhuabaojing` VARCHAR(255) DEFAULT NULL COMMENT '电话报警',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='报警方式';
添加种类模块:
从页面中通过post方法,将种类信息传入到后台服务器中,在tianjiazhongleiact
中接收,字段包括火灾,交通事故,工伤事故,自然灾害使用insert方法添加数据,将数据同步到
数据库中,完成添加操作。定义添加成功提示信息,添加种类成功,并保存到request中具体代码如下:
通过zhongleidao的insert方法将页面传输的种类添加到数据库中 zhongleidao.insert(zhonglei);
将添加种类成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加种类成功");
返回种类管理界面
return "forward:/tianjiazhonglei.action";
查询种类模块:
种类的查询模块实现方式为,在页面中发起zhongleiguanli.action请求。通过该请求,响应服务器zhongleiController类中的zhongleiguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的种类信息查询后,保存到request中的zhongleiall中,在页面中进行展示,返回zhongleiguanli.jsp,该部分核心代码如下所示:
生成种类样例类,通过example定义查询条件 ZhongleiExample example = new ZhongleiExample();
通过zhongleidao的selectByExample方法查询出所有的种类信息 List zhongleiall = zhongleidao.selectByExample(example);
将种类信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("zhongleiall", zhongleiall);
返回种类管理界面
return "forward:/zhongleiguanli.action";
修改种类模块:
点击修改按钮,可以跳转到种类修改页面。在种类修改页面中,将初始化该种类的所有信息,并将信息一一对应填充到对应编辑栏中。编辑完种类信息后,页面通过post方法将数据封装为一个种类实体,传入到zhongleiController中。在xiugaizhonglei中进行接收,接收完毕后,调用zhongleiMapper中的updateByPrimaryKeySelective方法进行修改。该部分代码如下:
通过zhongleidao的修改方法根据id修改对应的种类 zhongleidao.updateByPrimaryKeySelective(zhonglei);
将修改种类成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改种类信息成功");
返回种类管理界面
return "forward:/zhongleiguanli.action";
删除种类模块:
删除种类功能实现在zhongleiController中,实现方法为shanchuzhonglei。在页面中通过get方法shanchuzhonglei.action?Id的形式将需要删除的种类id上传到服务器中,响应对应的方法,调用zhongleidao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:
通过zhongleidao的删除方法根据id删除对应的种类 zhongleidao.deleteByPrimaryKey(id);
将删除种类成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除种类成功");
返回种类管理界面
return "forward:/zhongleiguanli.action";