今天和一个朋友共同完成了一个职称考试模拟系统项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架。我这个朋友知识有限,只会这个框架,哈哈,都是为了方便他。和往常一样选用简单又便捷的MYECLIPSE作为开发工具,这是一个 后台项目。这个系统的介绍是这样的:机考模拟系统为考生提供大量仿真试题,题型全面,覆盖各类考点,贴近考试,帮助考生提升应考能力!同时,网校会根据最新的考试大纲,不断更新系统中的模拟试题,让考生紧跟命题趋势,把握命题规律,为考试加分。,一个职称考试模拟系统应包含用户角色有管理员、用户。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、题库(tiku)、答题记录(datijilu)、章节练习(zhangjielianxi)
管理员表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
用户表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户id
xingming | VARCHAR(255) | | 姓名
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
xingbie | VARCHAR(255) | | 性别
题库表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 题库id
fangzhentiku | VARCHAR(255) | | 仿真题库
tikudaan | VARCHAR(255) | | 题库答案
答题记录表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 答题记录id
duiti | VARCHAR(255) | | 对题
cuoti | VARCHAR(255) | | 错题
cuotiyuanyin | VARCHAR(255) | | 错题原因
章节练习表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 章节练习id
neirong | VARCHAR(255) | | 内容
xiti | VARCHAR(255) | | 习题
daan | VARCHAR(255) | | 答案
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- ----------------------------
-- Table structure for ggzhichengkaoshimlxt
-- ----------------------------
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 '姓名',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户';
-- ----------------------------
DROP TABLE IF EXISTS `t_tiku`;
CREATE TABLE `t_tiku` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '题库id',`fangzhentiku` VARCHAR(255) DEFAULT NULL COMMENT '仿真题库',`tikudaan` VARCHAR(255) DEFAULT NULL COMMENT '题库答案',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='题库';
-- ----------------------------
DROP TABLE IF EXISTS `t_datijilu`;
CREATE TABLE `t_datijilu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '答题记录id',`duiti` VARCHAR(255) DEFAULT NULL COMMENT '对题',`cuoti` VARCHAR(255) DEFAULT NULL COMMENT '错题',`cuotiyuanyin` VARCHAR(255) DEFAULT NULL COMMENT '错题原因',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='答题记录';
-- ----------------------------
DROP TABLE IF EXISTS `t_zhangjielianxi`;
CREATE TABLE `t_zhangjielianxi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '章节练习id',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`xiti` VARCHAR(255) DEFAULT NULL COMMENT '习题',`daan` VARCHAR(255) DEFAULT NULL COMMENT '答案',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='章节练习';
添加题库模块:
系统中存在添加题库功能,通过点击添加题库可以跳转到该功能模块,在该功能模块中,填写对应的题库信息。题库包含信息仿真题库,题库答案,填写完所有信息后,通过post方法将数据提交到tianjiatiku.action中,该地址将在服务器中tikuController类中的tianjiatikuact方法中进行响应。响应结果为,获取所有的题库信息,封装一个tiku类,使用tikuController类中定义的tikudao的insert方法,将题库数据插入到数据库的tiku表中。并给出用户提示信息,添加题库成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:
通过tikudao的insert方法将页面传输的题库添加到数据库中 tikudao.insert(tiku);
将添加题库成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加题库成功");
返回题库管理界面
return "forward:/tianjiatiku.action";
删除题库模块:
在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该题库
的id上传到服务器中,在服务器中通过tikuController类中的shanchutiku进行接收,之后调用tikuMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:
通过tikudao的删除方法根据id删除对应的题库 tikudao.deleteByPrimaryKey(id);
将删除题库成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除题库成功");
返回题库管理界面
return "forward:/tikuguanli.action";
来源:oschina
链接:https://my.oschina.net/u/4266094/blog/4172837