Java项目:SpringBoot+Mybatis+layui的学生成绩管理系统

news2024/11/18 2:43:53

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

功能介绍

SpringBoot学生成绩管理系统。主要分老师与学生两个角色。

其中,教师角色包含以下功能:

教师登录,学生信息管理,成绩管理,查看总成绩等功能。

学生角色包含以下功能:

学生登录,查看我的成绩,查看我的总成绩等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 
6.数据库:MySql 5.7版本;

技术栈

1. 后端:SpringBoot+Mybatis

2. 前端:Layui+HTML

使用说明

1. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,下载所需jar包;

2. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
3. 将项目中application.properties配置文件中的数据库配置改为自己的配置
4. 配置tomcat,然后运行项目,输入http://localhost:8088/login.html 登录
5. 老师账户:admin  密码:123456
学生账户:201723131 密码:201723131

运行截图

代码相关

成绩管理控制器

@RequestMapping("/score")
@RestController //标识为返回类型为Json的控制
public class ScoreController {
	/**
	 * 注入成绩
	 */
	@Autowired
	private IScoreService scoreService;
	
	  //标识请求地址
    @RequestMapping("/addScore")
    public ResultObject<Object> addScore(TScore score) {
    	ResultObject<Object> rs=scoreService.insertScore(score);
    	return rs;
    }
    
	  //标识请求地址
    @RequestMapping("/getAllScore")
    public ResultObject<List<TScore>> getAllScore(TScore score,@RequestParam("limit") int limit,@RequestParam("page") int page) {
    	PageInfo<TScore> pageInfo=scoreService.getAllScore(score,limit, page);
    	ResultObject<List<TScore>> rs=new ResultObject<List<TScore>>();
    	List<TScore> list=pageInfo.getList();
    	for(TScore temp:list) {
    		String type=temp.getScoreType();
    		if("1".equals(type)) {
    			temp.setScoreTypeName("习题");
    		}
    		if("2".equals(type)) {
    			temp.setScoreTypeName("测验");
    		}
    		if("3".equals(type)) {
    			temp.setScoreTypeName("考试成绩");
    		}
    	}
    	rs.setCode(Constant.SUCCESS_RETUEN_CODE);
    	rs.setMsg("查询成功");
    	rs.setData(list);
    	rs.setCount(pageInfo.getTotal());
    	return rs;
    }
    
    
    
    //标识请求地址
    @RequestMapping("/updateScore")
    public ResultObject<Object> updateScore(TScore score) {
    	Integer total=scoreService.updateScore(score);
    	//统一返回
    	ResultObject<Object> rs=new ResultObject<Object>();
    	if(null==total||0==total) {
    		rs.setCode(Constant.FAILURE_RETUEN_CODE);
    		rs.setMsg("修改学生成绩信息失败");
    	}else {
    		rs.setCode(Constant.SUCCESS_RETUEN_CODE);
    		rs.setMsg("修改学生成绩信息成功");
    	}
    	return rs;
    }
    //标识请求地址
    @RequestMapping("/deleteScore")
    public ResultObject<Object> deleteScore(TScore score) {
    	Integer total=scoreService.deleteScore(score.getScoreId());
    	//统一返回
    	ResultObject<Object> rs=new ResultObject<Object>();
    	if(null==total||0==total) {
    		rs.setCode(Constant.FAILURE_RETUEN_CODE);
    		rs.setMsg("删除学生成绩信息失败");
    	}else {
    		rs.setCode(Constant.SUCCESS_RETUEN_CODE);
    		rs.setMsg("删除学生成绩信息成功");
    	}
    	return rs;
    }
    
    @RequestMapping("/getAllSumScore")
    public ResultObject<List<TStudent>> getAllSumScore(TStudent student,@RequestParam("limit") int limit,@RequestParam("page") int page) {
    	PageInfo<TStudent> pageInfo =scoreService.getAllFinalScore(student, limit, page);
    	ResultObject<List<TStudent>> rs=new ResultObject<List<TStudent>>();
    	rs.setCode(Constant.SUCCESS_RETUEN_CODE);
    	rs.setMsg("查询成功");
    	rs.setData(pageInfo.getList());
    	rs.setCount(pageInfo.getTotal());
    	return rs;
    	
    }
    //获取我的成绩
    @RequestMapping("/getMyScore")
    public ResultObject<List<TStudent>> getAllSumScore(HttpServletRequest request,@RequestParam("limit") int limit,@RequestParam("page") int page) {
    	TStudent student = (TStudent)request.getSession().getAttribute("student");
    	PageInfo<TStudent> pageInfo =scoreService.getAllFinalScore(student, limit, page);
    	ResultObject<List<TStudent>> rs=new ResultObject<List<TStudent>>();
    	rs.setCode(Constant.SUCCESS_RETUEN_CODE);
    	rs.setMsg("查询成功");
    	rs.setData(pageInfo.getList());
    	rs.setCount(pageInfo.getTotal());
    	return rs;
    	
    } 
    
    @RequestMapping("/getMyScoreInfo")
    public ResultObject<List<TScore>> getMyScoreInfo(HttpServletRequest request,@RequestParam("limit") int limit,@RequestParam("page") int page) {
    	TStudent student = (TStudent)request.getSession().getAttribute("student");
    	TScore score=new TScore();
    	score.setStudentId(student.getStudentNo());
    	PageInfo<TScore> pageInfo=scoreService.getAllScore(score,limit, page);
    	ResultObject<List<TScore>> rs=new ResultObject<List<TScore>>();
    	List<TScore> list=pageInfo.getList();
    	for(TScore temp:list) {
    		String type=temp.getScoreType();
    		if("1".equals(type)) {
    			temp.setScoreTypeName("习题");
    		}
    		if("2".equals(type)) {
    			temp.setScoreTypeName("测验");
    		}
    		if("3".equals(type)) {
    			temp.setScoreTypeName("考试成绩");
    		}
    	}
    	rs.setCode(Constant.SUCCESS_RETUEN_CODE);
    	rs.setMsg("查询成功");
    	rs.setData(list);
    	rs.setCount(pageInfo.getTotal());
    	return rs;
    	
    } 
}

如果也想学习本系统,下面领取。回复:033springboot 

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

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

相关文章

ETHERCAT从站设计与FOC伺服马达电流环控制

ETHERCAT从站开发方案介绍-含ET9300对比 EtherCAT一般设计要求&#xff08;针对uCESC的方案&#xff09;&#xff1a; 硬件上&#xff1a;主控制器uCESC&#xff08;可选各供应商的EtherCAT从站控制器&#xff09; 操作系统&#xff1a;无特殊要求&#xff0c;根据产品性能决…

利用python在网上接单赚钱,兼职也能月入过万,还不赶紧学起来

我觉得python接单我是最有发言权的&#xff0c;从2013年进入大学&#xff0c;我就是一个不安分的学生&#xff0c;总是想着通过自己的技术来实现财富自由。 我崇拜雷军&#xff0c;我觉得雷布斯不仅技术强&#xff0c;而且很有商业头脑&#xff0c;可是我是个呆呆的瓜皮&#…

小白到底如何学 Python?

小白&#xff1a;我为什么要学习Python, 它能为我带来什么&#xff1f;我能学会吗&#xff1f;…… 为什么学习 Python? 计算机编程语言有很多&#xff0c;在我接触到的语言里面&#xff0c;比如Java, C, C等&#xff0c;Python是最容易上手的一门语言。 只要你会一点英语&…

GitHub 又一可视化低代码神器,诞生了!速度!手慢无!

在此之前&#xff0c;我曾多次与您交谈&#xff0c;在现阶段互联网业务疯狂增长的推动下&#xff0c;低代码编程被赋予了新的使命和义务&#xff0c;即帮助开发人员快速构建一个可以在早期以较低成本投入市场的应用程序。 那么&#xff0c;有没有一个成熟的低代码工具是开源的、…

使用docker快速部署ferry开源工单系统

大家好&#xff0c;我是早九晚十二&#xff0c;目前是做运维相关的工作。写博客是为了积累&#xff0c;希望大家一起进步&#xff01; 我的主页&#xff1a;早九晚十二 开源软件ferry是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等于一身的开源工单系统&#xff0c…

【蓝桥杯】第11届Scratch国赛中级组第6题 -- 3D打印小猫

[导读]&#xff1a;蓝桥杯大赛是工业和信息化部人才交流中心举办的全国性专业信息技术赛事。蓝桥杯大赛首席专家倪光南院士说&#xff1a;“蓝桥杯以考促学&#xff0c;塑造了领跑全国的人才培养选拨模式&#xff0c;并获得了行业的深度认可。” 春雷课堂计划推出Scratch蓝桥杯…

Linux网络协议之TCP协议(传输层)

Linux网络协议之TCP协议(传输层) 文章目录Linux网络协议之TCP协议(传输层)1.理解TCP协议2.谈谈可靠性问题3.TCP协议格式4.关于TCP的两个问题5.TCP序号与确认序号6.TCP缓冲区7.TCP窗口大小8.TCP的六个标志位9.确认应答机制(ACK)10.超时重传机制11.连接管理机制11.1 三次握手和四…

LEADTOOLS 入门教程: 使用 H264 视频创建 DICOM 文件 - 控制台 C#

LEADTOOLS是一个综合工具包的集合&#xff0c;用于将识别、文档、医疗、成像和多媒体技术整合到桌面、服务器、平板电脑、网络和移动解决方案中&#xff0c;是一项企业级文档自动化解决方案&#xff0c;有捕捉&#xff0c;OCR&#xff0c;OMR&#xff0c;表单识别和处理&#x…

Android系统之路(初识MTK) ------Android11.0添加Recents一键清除最近任务按钮

Android11.0添加Recents一键清除最近任务按钮 今天因为在复测昨天的一个monkey压测并且还没测完,所以打算记录最近做系统开发的一些心得和经验,也记录一下自己的系统开发历程 修改前效果: 修改后的效果: 后期补上… 需要修改的文件列表(注意:各个版本或平台可能要修改…

Git使用

一、Git介绍 1.1、版本控制 在我们日常生活中&#xff0c;使用微信6.5.3版本&#xff0c;QQ7.4版本&#xff0c;Chrome 43.0.2357.65 版本&#xff0c;表示的都是某些软件使用的版本号。这些软件在开发过程中&#xff0c;版本都是由1不断的变化而来。对于软件公司来说&#x…

用魔法打败魔法!AI识别名人造假视频;OpenAI开源Point-E进军3D打印市场;谷歌CALM算法加速文本生成… | ShowMeAI资讯日报

&#x1f440;日报合辑 | &#x1f3a1;AI应用与工具大全 | &#x1f514;公众号资料下载 | &#x1f369;韩信子 &#x1f4e2; 用魔法打败魔法&#xff01;基于面部、手势和声音识别名人 deepfake 视频 https://www.pnas.org/doi/pdf/10.1073/pnas.2216035119 Deepfake 是 …

模型评估指标

模型评估指标【准度、精度、召回率、F1-score及ROC曲线】总结 参考于李沐的机器学习课程。 通常要使用多个模型综合评价一个模型的好坏。 Accuracy 预测正确的个数 / 样本总个数 sum(y_pred y_label)/y_label.size()Precision 正确地预测为类别 i 的个数 / 预测为 i 的总…

【信管5.1】进度管理规划与活动

进度管理规划与活动进度这个东西&#xff0c;相信在不少老板眼里就是你加班的基础。进度赶不上了怎么办&#xff1f;加班呀&#xff0c;进度赶上了呢&#xff1f;再多做点东西呀&#xff01;反正加班这件事是少不了的&#xff0c;当你学习完我们的项目管理知识之后&#xff0c;…

求词频与逆词频SnowNLP.tf与SnowNLP.idf

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 求词频与逆词频 SnowNLP.tf与SnowNLP.idf 选择题 以下关于python代码表述有误的一项是? from snownlp import SnowNLP myText ([ [python, python], [python, 编程, 编程], [django, py…

Java项目:springboot+vue教室图书馆预约管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 智慧物联网教室预约系统-后台系统 项目简介&#xff1a; 这是一个前后端分离的教室预约和查看系统项目&#xff0c;能够实现以教室为单位活动的预约和取…

【微服务】Nacos为什么放弃短连接(http)而选择拥抱长连接(gRPC)

目录 一、现状背景 二、场景分析 1、配置 2、服务 三、长连接核心诉求 1、功能性诉求 1.1、客户端 1.2、服务端 2、性能 3、负载均衡 4、连接生命周期 4.1、心跳保活机制 4.2、需要什么 四、长连接选型对比 五、基于长链接的⼀致性模型 1.、配置⼀致性模型 1.…

【软件测试】8年测试老鸟的解读,测试人你的发展?测试开发......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 测试开发到底是测试…

引擎入门 | Unity UI简介–第3部分(3)

本期我们继续为大家进行Unity UI简介&#xff08;第三部分&#xff09;的后续教程 本篇内容 7.使面板上下滑动 文章末尾可免费获取教程源代码 本篇本篇Unity UI简介&#xff08;第三部分&#xff09;篇幅较长&#xff0c;分为八篇&#xff0c;本篇为第三篇。 7.使面板上下…

第6章 关系代数语言

第6章 关系代数语言 考试范围&#xff1a;6.1 考试题型&#xff1a;计算题 考试内容&#xff1a;关系代数操作 Selection Projection Join Cartesian product Rename Union set-difference intersection 1、Selection(选行操作) 2、Projection(选列操作) 3、Join N…

rabbitmq基础4——单机多节点集群、多机集群部署、基础功能测试

文章目录一、一机多实例集群1.1 三机启动1.2 立主纳从1.3 查看集群状态1.4 web监控1.5 测试1.5.1 数据同步1.5.2 一从死&#xff0c;主仍战1.5.3 从复活&#xff0c;死亡期间数据同步1.5.4 主死&#xff0c;从活但不可用二、多机集群2.1 确定主机名2.2 三机部署rabbitmq2.3 设主…