每天记录学习,每天会有好心情。*^_^*

今天记录的项目是学生成绩查询系统,这个项目是这么回事:介绍了在Internet/WWW环境下构建学生成绩查询系统的设计思路与方法 ,阐述了在学生成绩查询系统中的JSP技术和WEB数据库技术的运用 ,描述了学生成绩查询系统的功能及各功能的具体实现。
做这个项目的时候,我们需要用到SSM(MYECLIPSE)框架,开发工具选用最拿手的MYECLIPSE。
学生成绩查询系统项目是一个 后台项目。
开发系统时,需求分析是必不可少的一个环节。学生成绩查询系统拥有的登录角色包括了管理员、学生。
每个账号设置身份、账号、密码是必不可少的,管理员、学生中都包含这些登录角色该有的字段。

总结得出该系统所有数据为:管理员(admin)、学生(xuesheng)、成绩(chengji)

管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

学生表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 学生id
mingzi | VARCHAR(255) | | 名字
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
banji | VARCHAR(255) | | 班级
nianling | VARCHAR(255) | | 年龄
xingbie | VARCHAR(255) | | 性别

成绩表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 成绩id
xuesheng | VARCHAR(255) | | 学生
xueshengid | VARCHAR(255) | | 学生id
chengji | VARCHAR(255) | | 成绩
kemu | VARCHAR(255) | | 科目
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for ggxueshengchengji

-- ----------------------------

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 '名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`banji` VARCHAR(255) DEFAULT NULL COMMENT '班级',`nianling` 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_chengji`;

CREATE TABLE `t_chengji` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '成绩id',`xuesheng` VARCHAR(255) DEFAULT NULL COMMENT '学生',`xueshengid` INT(11) DEFAULT NULL COMMENT '学生id',`chengji` VARCHAR(255) DEFAULT NULL COMMENT '成绩',`kemu` VARCHAR(255) DEFAULT NULL COMMENT '科目',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='成绩';

添加成绩模块:

通过添加成绩模块,可以完成成绩的添加操作。在页面中跳转到添加成绩页面,输入成绩的所有信息,点击添加操作,可以将成绩数据以post提交到chengjiController中。成绩所包含的字段信息包括学生,学生id,成绩,科目。在chengjiController中通过定义chengji接受所有的成绩参数。使用chengjidao的insert方法将chengji实体插入到数据库中。完成数据的添加操作,在chengjiMapper中匹配对应的chengjixml完成插入sql语句的执行操作。该部分核心代码如下:

通过chengjidao的insert方法将页面传输的成绩添加到数据库中 chengjidao.insert(chengji);

将添加成绩成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加成绩成功");

返回成绩管理界面

return "forward:/tianjiachengji.action";

查询成绩模块:

在浏览器中进入成绩查询页面时,此时浏览器的地址栏为chengjiguanli.action,该地址将响应chengjiController类中的chengjiguanli,在该方法中,通过selectByexample方法获取所有的成绩信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:

生成成绩样例类,通过example定义查询条件 ChengjiExample example = new ChengjiExample();

通过chengjidao的selectByExample方法查询出所有的成绩信息 List chengjiall = chengjidao.selectByExample(example);

将成绩信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("chengjiall", chengjiall);

返回成绩管理界面

return "forward:/chengjiguanli.action";

修改成绩模块:

点击修改按钮,可以跳转到成绩修改页面。在成绩修改页面中,将初始化该成绩的所有信息,并将信息一一对应填充到对应编辑栏中。编辑完成绩信息后,页面通过post方法将数据封装为一个成绩实体,传入到chengjiController中。在xiugaichengji中进行接收,接收完毕后,调用chengjiMapper中的updateByPrimaryKeySelective方法进行修改。该部分代码如下:

通过chengjidao的修改方法根据id修改对应的成绩 chengjidao.updateByPrimaryKeySelective(chengji);

将修改成绩成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改成绩信息成功");

返回成绩管理界面

return "forward:/chengjiguanli.action";

删除成绩模块:

在页面中通过a标签,shanchuchengji?id=将id传入到后台中,通过shanchuchengji接收成绩id。使用deleteByid的方法

删除该成绩,完成删除操作。定义删除成功提示信息,删除成绩成功,并保存到request中,该部分代码如下:

通过chengjidao的删除方法根据id删除对应的成绩 chengjidao.deleteByPrimaryKey(id);

将删除成绩成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除成绩成功");

返回成绩管理界面

return "forward:/chengjiguanli.action";

01-21 07:13