学生成绩查询java版_学生成绩查询系统,基于ssm的JAVA系统

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

今天记录的项目是学生成绩查询系统,这个项目是这么回事:介绍了在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";

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术积累

1、TCP/IP HTTP协议 (1)TCP报文头格式 (2)TCP连接的建立与终止,三次握手、四次挥手 (3)TCP的状态转移图 2、UNIX网络编程 (1)并发服务器,多进程、多线程编程…

前端学习(1397):项目包含的知识点cookie和session2

const express require(express); //创建网站服务器 const app express(); //开放静态资源文件 const path require(path); //引入 const bodyPaser require(body-parser);const session require(express-session); require(./model/connect)//处理post app.use(bodyPase…

jmeter校验结果_Jenkins在实际失败时验证JMeter构建是否成功

我有类似的问题,阻止我.我需要用Jenkins运行我的JMeter测试.但Jenkins验证JMeter构建在实际失败时是否成功.我想知道我做错了什么,以便当断言失败时jmeter不会返回失败.我运行一个调用jMeter的Windows Batch脚本.这是如何做:命令行cd C:\apache-jmeter-3.1\binjmete…

[Unity3D]unity3d5.0简单的调用摄像头

Unity3D中新建一个工程,加一个Plane,新建一个C# 脚本,将这个脚本添加到Plane上,调用摄像头。(如果显示的图片居然是翻转的,Plane的Rotation 值就可以了) 以下是脚本内容: using UnityEngine; using System.Collections…

java 分析excel模板_java如何读取Excel简单模板

场景:对于经常需要导入excel模板或数据来解析后加以应用的,使用频率非常之高,做了一个比较稳定的版本,体现在这些地方工具:org.apache.poi使用前必须了解这些:1、要解析,那肯定先判断是不是exce…

前端学习(1399):多人管理19项目拦截器

const guard (req, res, next) > {// 判断用户访问的是否是登录页面// 判断用户的登录状态// 如果用户是登录的 将请求放行// 如果用户不是登录的 将请求重定向到登录页面if (req.url ! /login && !req.session.username) {res.redirect(/admin/login);} else {// …

4种kill某个用户所有进程的方法

4种kill某个用户所有进程的方法 在linux系统管理中,我们有时候需要kill掉某个用户的所有进程,初学者一般先查询出用户的所有pid,然后一条条kill掉,或者写好一个脚本,实际上方法都有现成的,这边有4种方法&am…

java数组排序源码_Java 数组工具类排序,最大值最小值等

public class ArrayUtils{/*** 返回数组最大值** param a* return*/public static int max(int[] a){// 返回数组最大值int x;int aa[]new int[a.length];System.arraycopy(a,0,aa,0,a.length);xaa[0];for(int i1;iif(aa[i]>x){xaa[i];}}return x;}/*** 返回数组最小值** pa…

前端学习(1400):多人管理20代码优化

// 引用expess框架 const express require(express); // 处理路径 const path require(path); // 引入body-parser模块 用来处理post请求参数 const bodyPaser require(body-parser); // 导入express-session模块 const session require(express-session); // 创建网站服务…

C#判断点和直线的位置关系

/// <summary>/// 判断点和直线的位置关系/// </summary>/// <param name"LinePntA">直线上的一点</param>/// <param name"LinePntB">直线上的另一点</param>/// <param name"PntM">需要判断的点<…

前端学习(1401):多人管理21新增用户

const { User } require(../../model/user);module.exports async (req, res) > {// 获取到地址栏中的id参数const { message, id } req.query;// 如果当前传递了id参数if (id) {// 修改操作let user await User.findOne({_id: id});// 渲染用户编辑页面(修改)res.rende…

C# 添加类库依赖

转载于:https://www.cnblogs.com/dekevin/p/4350049.html

前端学习(1402):多人管理22验证joi

// 引入joi模块 const Joi require(joi);// 定义对象的验证规则 const schema {username: Joi.string().min(2).max(5).required().error(new Error(username属性没有通过验证)),birth: Joi.number().min(1900).max(2020).error(new Error(birth没有通过验证)) };async funct…

win2003+IIS6+PHP5.3.8+MSSQL2008的安装配置

转载于:https://www.cnblogs.com/nxping/p/4351033.html

Linux给Java程序设置端口_扫描服务端口的Java程序

在Linux下用C写了一个扫描指定IP地址对外开放端口号的程序。扫描自己的机器的端口号速度还是挺快的&#xff0c;用编写的程序扫描在美国的服务器时&#xff0c;等了10分钟&#xff0c;端口号才扫到1000左右。于是就想到了用多线程&#xff0c;可是linux c的多线程不会&#xff…

第二次北京之行-游颐和园

转载于:https://www.cnblogs.com/motadou/p/4354613.html

前端学习(1404):多人管理24joi验证

// 引入用户集合的构造函数 const { User, validateUser } require(../../model/user); // 引入加密模块 const bcrypt require(bcryptjs);module.exports async(req, res, next) > {try {await validateUser(req.body)} catch (e) {// 验证没有通过// e.message// 重定向…