每天记录学习,每天会有好心情。*^_^*
今天和一个朋友共同完成了一个学生宿舍管理系统项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架。我这个朋友知识有限,只会这个框架,哈哈,都是为了方便他。和往常一样选用简单又便捷的MYECLIPSE作为开发工具,这是一个 后台项目。这个系统的介绍是这样的:学生宿舍管理系统是为了更合理,方便地管理学生住宿问题的系统,能方便地解决学生在住宿过程中遇到的各种不同的问题,可以实现许多功能,学生入住登记;来访者查询登记;宿舍维修;电费查询等。通过调查统计现有宿舍管理系统的功能以及宿舍中可能涉及的问题,从后勤保障人员方便管理和学生能够方便的参与的角度出发,探寻可行的方案进行解决,在中期建立起一个雏形并让其实际的运作起来,针对这个雏形再次调研提出更加完善的可行性建议,最终做出可有学生访问登录的宿舍管理系统。,一个学生宿舍管理系统应包含用户角色有管理员、学生。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
系统中宿舍、学生之间具有较强的联系性。他们之间的关系为学生的宿舍与宿舍的bianhao字段对应、学生的宿舍id与宿舍的id字段对应
。在学生表中可以体现出这种关系。
总结得出该系统所有数据为:管理员(admin)、学生(xuesheng)、宿舍(sushe)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
学生表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 学生id mingzi | VARCHAR(255) | | 名字 sushe | VARCHAR(255) | | 宿舍 susheid | VARCHAR(255) | | 宿舍id banji | VARCHAR(255) | | 班级 lianxifangshi | VARCHAR(255) | | 联系方式 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
宿舍表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 宿舍id bianhao | VARCHAR(255) | | 编号 jieshao | VARCHAR(255) | | 介绍
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggxueshengsushe -- ---------------------------- 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_xuesheng`; CREATE TABLE `t_xuesheng` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '学生id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`sushe` VARCHAR(255) DEFAULT NULL COMMENT '宿舍',`susheid` INT(11) DEFAULT NULL COMMENT '宿舍id',`banji` VARCHAR(255) DEFAULT NULL COMMENT '班级',`lianxifangshi` 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_sushe`; CREATE TABLE `t_sushe` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '宿舍id',`bianhao` VARCHAR(255) DEFAULT NULL COMMENT '编号',`jieshao` VARCHAR(5000) DEFAULT NULL COMMENT '介绍',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='宿舍';
添加宿舍模块:
通过添加宿舍模块,可以完成宿舍的添加操作。在页面中跳转到添加宿舍页面,输入宿舍的所有信息,点击添加操作,可以将宿舍数据以post提交到susheController中。宿舍所包含的字段信息包括编号,介绍。在susheController中通过定义sushe接受所有的宿舍参数。使用sushedao的insert方法将sushe实体插入到数据库中。完成数据的添加操作,在susheMapper中匹配对应的sushexml完成插入sql语句的执行操作。该部分核心代码如下:
通过sushedao的insert方法将页面传输的宿舍添加到数据库中 sushedao.insert(sushe);
将添加宿舍成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加宿舍成功");
返回宿舍管理界面
return "forward:/tianjiasushe.action";
查询宿舍模块:
在后台中定义宿舍查询模块,在侧边栏中点击宿舍管理,可以跳转到宿舍管理界面。在该页面中通过susheController中定义susheguanli响应宿舍查询模块。在susheguanli中查询出所有信息,返回页面进行循环展示。查询方法为sushedao中的selectByexample方法。该部分核心代码如下:
生成宿舍样例类,通过example定义查询条件 SusheExample example = new SusheExample();
通过sushedao的selectByExample方法查询出所有的宿舍信息 List susheall = sushedao.selectByExample(example);
将宿舍信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("susheall", susheall);
返回宿舍管理界面
return "forward:/susheguanli.action";
修改宿舍模块:
对已经上传的宿舍信息可以进行修改操作,该部分操作在宿舍管理界面中点击修改按钮可以跳转到宿舍修改页面。在修改页面中,将初始化所有的宿舍字段信息,字段信息包括编号,介绍。字段信息内容通过宿舍id获取。修改后的信息传入到susheController中接收为sushe。在susheController中包含有提前定义好的sushedao,该参数为susheMapper是实现。susheMapper中定义了修改方法,此处使用修改方法为updateByPrimaryKeySelective,该方法可以将修改后信息同步到数据库中,最终将修改成功信息返回页面中。该部分代码如下:
通过sushedao的修改方法根据id修改对应的宿舍 sushedao.updateByPrimaryKeySelective(sushe);
将修改宿舍成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改宿舍信息成功");
返回宿舍管理界面
return "forward:/susheguanli.action";
删除宿舍模块:
在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该宿舍
的id上传到服务器中,在服务器中通过susheController类中的shanchusushe进行接收,之后调用susheMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:
通过sushedao的删除方法根据id删除对应的宿舍 sushedao.deleteByPrimaryKey(id);
将删除宿舍成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除宿舍成功");
返回宿舍管理界面
return "forward:/susheguanli.action";