今日思考,完成一个新生报到系统管理的设计与实现项目,需要实现哪些功能?
此类项目常见描述如下:
为提高新生报到管理工作的准确性和工作效率,实现新生报到管理系统,实现迎新、缴费、公寓入住的即时统计与相关部门的数据共享,为新生提供方便、高效、一体的入学报到环境,改善了迎新信息渠道不畅通、效率不高的问题。采用MYSQL数据库设计并实现了新生报到管理系统,采用B/S架构部署于Web服务器,对系统的功能模块、结构进行了分析,并提供了实现系统的部分关键代码.
SSM(MYECLIPSE)框架及其适合本类项目,使用MVC的思想可以极大程度减少重复工作量。和SSM(MYECLIPSE)框架最配的开发工具是MYECLIPSE。MYECLIPSE集成了大量插件,可以更好的使用SSM(MYECLIPSE)进行项目的开发,使得项目开发时事半功倍。
通过对新生报到系统管理的设计与实现系统的仔细分析,可以得出新生报到系统管理的设计与实现系统是一个 后台项目。
在这样一个项目中,系统的登录角色是必不可少的,对每个登录角色设置账号、密码。以确保系统可以正常登录使用。SSM(MYECLIPSE)项目中包含的登录角色有管理员、用户。
总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、学费(xuefei)、宿舍(sushe)
管理员表
字段名 | 类型 | 属性 |描述
id| INT(11) | PRIMARY KEY |管理员id
username| VARCHAR(255) | |账号
password| VARCHAR(255) | | 密码
用户表
字段名 | 类型 | 属性 |描述
id| INT(11) | PRIMARY KEY |用户id
xingming| VARCHAR(255) | |姓名
nianling| VARCHAR(255) | |年龄
zhiwu| VARCHAR(255) | |职务
xingbie| VARCHAR(255) | |性别
quanxian| VARCHAR(255) | |权限
username| VARCHAR(255) | |账号
password| VARCHAR(255) | | 密码
学费表
字段名 | 类型 | 属性 |描述
id| INT(11) | PRIMARY KEY |学费id
xingming| VARCHAR(255) | |姓名
nianji| VARCHAR(255) | |年级
xingbie| VARCHAR(255) | |性别
nianling| VARCHAR(255) | |年龄
yijiaoxuefei| VARCHAR(255) | |已交学费
weijiaoxuefei| VARCHAR(255) | | 未交学费
宿舍表
字段名 | 类型 | 属性 |描述
id| INT(11) | PRIMARY KEY |宿舍id
xingming| VARCHAR(255) | |姓名
menpaihao| VARCHAR(255) | |门牌号
weizhi| VARCHAR(255) | | 位置
SET FOREIGN_KEY_CHECKS=0;------------------------------
------------------------------
--Table structure for ggxinshengbaodaoxtgldsjysx
------------------------------
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 ‘年龄‘,`zhiwu` VARCHAR(255) DEFAULT NULL COMMENT ‘职务‘,`xingbie` 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_xuefei`;CREATE TABLE `t_xuefei` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘学费id‘,`xingming` VARCHAR(255) DEFAULT NULL COMMENT ‘姓名‘,`nianji` VARCHAR(255) DEFAULT NULL COMMENT ‘年级‘,`xingbie` VARCHAR(255) DEFAULT NULL COMMENT ‘性别‘,`nianling` VARCHAR(255) DEFAULT NULL COMMENT ‘年龄‘,`yijiaoxuefei` VARCHAR(255) DEFAULT NULL COMMENT ‘已交学费‘,`weijiaoxuefei` 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‘,`xingming` VARCHAR(255) DEFAULT NULL COMMENT ‘姓名‘,`menpaihao` VARCHAR(255) DEFAULT NULL COMMENT ‘门牌号‘,`weizhi` VARCHAR(255) DEFAULT NULL COMMENT ‘位置‘,PRIMARY KEY(`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘宿舍‘;
添加学费模块:
从页面中通过post方法,将学费信息传入到后台服务器中,在tianjiaxuefeiact
中接收,字段包括姓名,年级,性别,年龄,已交学费,未交学费使用insert方法添加数据,将数据同步到
数据库中,完成添加操作。定义添加成功提示信息,添加学费成功,并保存到request中具体代码如下:
通过xuefeidao的insert方法将页面传输的学费添加到数据库中 xuefeidao.insert(xuefei);
将添加学费成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加学费成功");
返回学费管理界面
return "forward:/tianjiaxuefei.action";
查询学费模块:
在后台xuefeiguanli方法中,通过selectByexample方法获取所有的数据信息。将其保存到request中,在页面中通过foreach方法
进行循环展示到table中。完成学费查询操作。具体代码如下:
生成学费样例类,通过example定义查询条件 XuefeiExample example = new XuefeiExample();
通过xuefeidao的selectByExample方法查询出所有的学费信息 List xuefeiall = xuefeidao.selectByExample(example);
将学费信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("xuefeiall", xuefeiall);
返回学费管理界面
return "forward:/xuefeiguanli.action";
修改学费模块:
在页面完成学费的修改信息填写后,将该部分数据传入xiugaixuefei.action地址,并通过post进行提交。提交后在xuefeiController中通过xiugaixuefei进行接收,将所有字段封装为一个学费实体。并将该实体传入xuefeidao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过学费id更新其余学费的字段,该部分字段包括姓名,年级,性别,年龄,已交学费,未交学费,该部分核心代码如下所示:
通过xuefeidao的修改方法根据id修改对应的学费 xuefeidao.updateByPrimaryKeySelective(xuefei);
将修改学费成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改学费信息成功");
返回学费管理界面
return "forward:/xuefeiguanli.action";
删除学费模块:
在页面中通过a标签,shanchuxuefei?id=将id传入到后台中,通过shanchuxuefei接收学费id。使用deleteByid的方法
删除该学费,完成删除操作。定义删除成功提示信息,删除学费成功,并保存到request中,该部分代码如下:
通过xuefeidao的删除方法根据id删除对应的学费 xuefeidao.deleteByPrimaryKey(id);
将删除学费成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除学费成功");
返回学费管理界面
return "forward:/xuefeiguanli.action";