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

作者主页:源码空间站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 

项目使用 Spring Boot 搭建, 用于加深对 Spring Boot 与 Shiro 的学习, 项目特色是支持 restful 风格权限控制, 支持对同一 URL, 不同 HTTP Mehtod 的权限控制, 适用于更多的场景. 预览地址: http://ewt.186g.cn 默认管理员账号: admin, 密码: 123456. 普通用户账号: user, 密码: 123456. 为了不影响其他人的浏览体验, 请尽量不要进行删除类的敏感操作. admin 为超级管理员, 自动拥有全部权限. 系统特色 支持根据同 URL, 不同 HTTP Method 来校验权限, 更支持 restful 场景. 集成 OAuth2 登录, 且提供了接口易于拓展开发. 全局异常处理. 根据请求方式区分返回 json 数据还是错误页面. Logback MDC 支持, 将当前登录人和操作者 IP 加入日志中. JSR-303 数据校验 运行环境 JDK 1.8 MySQL 5.7 Redis 配置文件 打开 application.properties 修改 MySQL 和 Redis 连接信息. spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.cache.type=redis spring.datasource.username=root spring.datasource.password=123456 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/shiro_action?useSSL=false&characterEncoding=UTF8 启动项目 在完成了上述步骤后,找到 ShiroActionApplication 启动类, 启动即可. 启动后访问地址为:http://localhost:8080 , 用户名:admin, 密码:123456. 技术选型 前端 前端框架: Layui 后台模板: Z-Admin 后端 SpringBoot 2.2.3.RELEASE Shiro 1.4.0 Mybatis-Plus3.1.2 Druid 1.1.10 PageHelper 1.2.9 Shiro-Redis 3.2.3
学生成绩管理系统是一个常见的项目,基于SpringBoot+Mybatis+Layui进行开发可以快速构建一个高效、稳定、易于维护的Web应用程序。下面是一个简单的学生成绩管理系统的实现思路: 1. 搭建项目框架 使用SpringBoot框架搭建项目,通过Maven或Gradle来管理依赖。可以使用Mybatis框架来访问数据库,并使用Layui框架实现前端交互。 2. 确定数据库表结构 根据需求,设计学生成绩管理系统的数据库表结构。可以使用MySQL等关系型数据库,也可以使用NoSQL数据库(如MongoDB)。 3. 实现数据访问层 使用Mybatis框架实现数据访问层,包括DAO接口和Mapper文件。在Mapper文件中编写SQL语句来操作数据库,例如查询成绩、添加学生信息等。 4. 实现业务逻辑层 在业务逻辑层中,实现各种操作的具体逻辑,例如查询学生成绩、添加学生信息、更新学生成绩等。可以使用@Service注解来标注服务类。 5. 实现控制器层 使用SpringMVC框架实现控制器层,处理前端请求并调用业务逻辑层实现相应的操作。可以使用@Controller注解来标注控制器类。 6. 实现前端页面 使用Layui框架实现前端页面,包括登录页面、学生信息管理页面、成绩查询页面等。在前端页面中,通过Ajax向后台发送请求并获取数据,实现动态更新页面。 7. 运行测试 完成以上步骤后,可以运行测试来验证程序的正确性。可以使用JUnit框架来实现单元测试,或使用Postman等工具来模拟前端请求并验证后台响应。 以上是一个简单的学生成绩管理系统的实现思路,您可以根据具体需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值