基于B/S模式下的JAVA智能小区规划系统

最近了解了智能小区规划项目,在这个平台记录一下这个智能小区规划项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成这个项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点。此框架能在MYECLIPSE开发工具中完美的编写和运行,智能小区规划为一个 后台项目。这个项目的描述是这样的:智能小区是将在一定地域范围内多个具有相同或不同功能的建筑物(主要是指住宅小区)按照统筹的方法分别对其功能进行智能化。在提供安全、舒适、方便、节能、可持续发展的生活环境的基础上,实现资源充分共享,统一管理和控制,提高小区性能价格比指标。
在对智能小区规划项目进行需求分析的时候,得出系统的登录角色包括了管理员、用户。对应用户可以通过登录自己的账号,进行入系统。系统对不同角色拥有不同权限。

总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、管理中心(guanlizhongxin)、系统分解(xitongfenjie)

管理员表

字段名 | 类型 | 属性 | 描述
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) | | 性别
quanxian | VARCHAR(255) | | 权限
zhuzhi | VARCHAR(255) | | 住址
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

 

管理中心表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理中心id
yonghuguanli | VARCHAR(255) | | 用户管理
tingchecxhangguanli | VARCHAR(255) | | 停车场管理
anfangguanli | VARCHAR(255) | | 安防管理
wuyeguanli | VARCHAR(255) | | 物业管理

 

系统分解表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 系统分解id
jiatingzhineng | VARCHAR(255) | | 家庭智能
xiaoquwangluo | VARCHAR(255) | | 小区网络
tongxunxitong | VARCHAR(255) | | 通讯系统
duijiangxitong | VARCHAR(255) | | 对讲系统

 

 

SET FOREIGN_KEY_CHECKS=0;

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

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

-- Table structure for ggzhinengxiaoqugh

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

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 '性别',`quanxian` VARCHAR(255) DEFAULT NULL COMMENT '权限',`zhuzhi` 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_guanlizhongxin`;

CREATE TABLE `t_guanlizhongxin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '管理中心id',`yonghuguanli` VARCHAR(255) DEFAULT NULL COMMENT '用户管理',`tingchecxhangguanli` VARCHAR(255) DEFAULT NULL COMMENT '停车场管理',`anfangguanli` VARCHAR(255) DEFAULT NULL COMMENT '安防管理',`wuyeguanli` VARCHAR(255) DEFAULT NULL COMMENT '物业管理',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理中心';

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

DROP TABLE IF EXISTS `t_xitongfenjie`;

CREATE TABLE `t_xitongfenjie` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '系统分解id',`jiatingzhineng` VARCHAR(255) DEFAULT NULL COMMENT '家庭智能',`xiaoquwangluo` VARCHAR(255) DEFAULT NULL COMMENT '小区网络',`tongxunxitong` VARCHAR(255) DEFAULT NULL COMMENT '通讯系统',`duijiangxitong` VARCHAR(255) DEFAULT NULL COMMENT '对讲系统',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='系统分解';

 

 

添加系统分解模块:

系统中存在添加系统分解功能,通过点击添加系统分解可以跳转到该功能模块,在该功能模块中,填写对应的系统分解信息。系统分解包含信息家庭智能,小区网络,通讯系统,对讲系统,填写完所有信息后,通过post方法将数据提交到tianjiaxitongfenjie.action中,该地址将在服务器中xitongfenjieController类中的tianjiaxitongfenjieact方法中进行响应。响应结果为,获取所有的系统分解信息,封装一个xitongfenjie类,使用xitongfenjieController类中定义的xitongfenjiedao的insert方法,将系统分解数据插入到数据库的xitongfenjie表中。并给出用户提示信息,添加系统分解成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:

通过xitongfenjiedao的insert方法将页面传输的系统分解添加到数据库中 xitongfenjiedao.insert(xitongfenjie);

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

返回系统分解管理界面

return "forward:/tianjiaxitongfenjie.action";

查询系统分解模块:

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

生成系统分解样例类,通过example定义查询条件 XitongfenjieExample example = new XitongfenjieExample();

通过xitongfenjiedao的selectByExample方法查询出所有的系统分解信息 List xitongfenjieall = xitongfenjiedao.selectByExample(example);

将系统分解信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("xitongfenjieall", xitongfenjieall);

返回系统分解管理界面

return "forward:/xitongfenjieguanli.action";

修改系统分解模块:

在页面完成系统分解的修改信息填写后,将该部分数据传入xiugaixitongfenjie.action地址,并通过post进行提交。提交后在xitongfenjieController中通过xiugaixitongfenjie进行接收,将所有字段封装为一个系统分解实体。并将该实体传入xitongfenjiedao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过系统分解id更新其余系统分解的字段,该部分字段包括家庭智能,小区网络,通讯系统,对讲系统,该部分核心代码如下所示:

通过xitongfenjiedao的修改方法根据id修改对应的系统分解 xitongfenjiedao.updateByPrimaryKeySelective(xitongfenjie);

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

返回系统分解管理界面

return "forward:/xitongfenjieguanli.action";

删除系统分解模块:

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

通过xitongfenjiedao的删除方法根据id删除对应的系统分解 xitongfenjiedao.deleteByPrimaryKey(id);

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

返回系统分解管理界面

return "forward:/xitongfenjieguanli.action";

posted @ 2019-09-26 19:35  龙骑士编程  阅读(570)  评论(0编辑  收藏  举报