每天记录学习,每天会有好心情。*^_^*
在学习计算机等级考试系统设计与实现项目的时候,方便日后能及时查阅,在本平台中记录一下该项目的开发流程。在学习时候的选用了SSM(MYECLIPSE),这个框架不论是学习还是使用都非常方便,简单易上手。是我们学习编程可以重点学习的一个框架,我在开发计算机等级考试系统设计与实现项目的时候选用了MYECLIPSE来搭建SSM(MYECLIPSE)框架,最终将计算机等级考试系统设计与实现项目开发为了一个 后台项目。
该项目具有的用户角色包括了管理员、学生,每个角色都含有自己的登录账号和密码。
总结得出该系统所有数据为:管理员(admin)、题目(timu)、学生(xuesheng)、考试(kaoshi)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
题目表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 题目 timu | VARCHAR(255) | | 题目 neirong | VARCHAR(255) | | 内容 wenjian | VARCHAR(255) | | 文件
学生表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 学生id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
考试表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 考试id mingcheng | VARCHAR(255) | | 名称 shijian | VARCHAR(255) | | 时间
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggjisuanjikaoshi -- ---------------------------- 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_timu`; CREATE TABLE `t_timu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '题目',`timu` VARCHAR(255) DEFAULT NULL COMMENT '题目',`neirong` VARCHAR(5000) DEFAULT NULL COMMENT '内容',`wenjian` 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 '名字',`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_kaoshi`; CREATE TABLE `t_kaoshi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '考试id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='考试';
添加题目模块:
系统中存在添加题目功能,通过点击添加题目可以跳转到该功能模块,在该功能模块中,填写对应的题目信息。题目包含信息题目,内容,文件,填写完所有信息后,通过post方法将数据提交到tianjiatimu.action中,该地址将在服务器中timuController类中的tianjiatimuact方法中进行响应。响应结果为,获取所有的题目信息,封装一个timu类,使用timuController类中定义的timudao的insert方法,将题目数据插入到数据库的timu表中。并给出用户提示信息,添加题目成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:
通过timudao的insert方法将页面传输的题目添加到数据库中 timudao.insert(timu);
将添加题目成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加题目成功");
返回题目管理界面
return "forward:/tianjiatimu.action";
查询题目模块:
在后台timuguanli方法中,通过selectByexample方法获取所有的数据信息。将其保存到request中,在页面中通过foreach方法
进行循环展示到table中。完成题目查询操作。具体代码如下:
生成题目样例类,通过example定义查询条件 TimuExample example = new TimuExample();
通过timudao的selectByExample方法查询出所有的题目信息 List timuall = timudao.selectByExample(example);
将题目信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("timuall", timuall);
返回题目管理界面
return "forward:/timuguanli.action";
修改题目模块:
点击修改按钮,可以跳转到题目修改页面。在题目修改页面中,将初始化该题目的所有信息,并将信息一一对应填充到对应编辑栏中。编辑完题目信息后,页面通过post方法将数据封装为一个题目实体,传入到timuController中。在xiugaitimu中进行接收,接收完毕后,调用timuMapper中的updateByPrimaryKeySelective方法进行修改。该部分代码如下:
通过timudao的修改方法根据id修改对应的题目 timudao.updateByPrimaryKeySelective(timu);
将修改题目成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改题目信息成功");
返回题目管理界面
return "forward:/timuguanli.action";
删除题目模块:
删除题目功能实现在timuController中,实现方法为shanchutimu。在页面中通过get方法shanchutimu.action?Id的形式将需要删除的题目id上传到服务器中,响应对应的方法,调用timudao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:
通过timudao的删除方法根据id删除对应的题目 timudao.deleteByPrimaryKey(id);
将删除题目成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除题目成功");
返回题目管理界面
return "forward:/timuguanli.action";