zoukankan      html  css  js  c++  java
  • 基于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";

  • 相关阅读:
    一个完成的spring xml配置文件
    一个简单的Spring程序
    Spring beans.xml
    strust2的核心和工作原理
    MVC模式
    JSON 之FastJson解析
    Java本地方法(native方法)的实现
    RMI(Remote Method Invocation ) 概念恢复
    java注解
    输入sql语句,将结果写入到xml文件
  • 原文地址:https://www.cnblogs.com/lqs11/p/11593893.html
Copyright © 2011-2022 走看看