Java项目实战II基于Java+Spring Boot+MySQL的高校学科竞赛平台

目录

一、前言

二、技术介绍

三、系统实现

四、文档参考

五、核心代码

六、源码获取


全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末

一、前言

随着高等教育的快速发展,学科竞赛已成为培养学生创新能力、实践能力和团队协作精神的重要途径。为了更高效、便捷地组织和管理高校学科竞赛,我们设计并实现了这一基于Java+Spring Boot+MySQL的高校学科竞赛平台。Java以其跨平台、稳定性强的特点,为系统的开发提供了坚实的基础;Spring Boot则以其简洁的配置和快速的开发部署能力,大大提升了开发效率;MySQL数据库则以其高性能和易用性,为系统提供了可靠的数据存储和访问支持。该平台集成了竞赛报名、作品提交、在线评审、成绩公布和数据分析等功能,旨在为广大师生提供一个公平、公正、公开的竞赛环境。通过本平台的实施,我们期望能够推动高校学科竞赛的普及和发展,进一步提升学生的综合素质和创新能力。

二、技术介绍

语言:Java

使用框架:Spring Boot

前端技术:JS、Vue 、css3

开发工具:IDEA/Eclipse

数据库:MySQL 5.7/8.0

数据库管理工具:phpstudy/Navicat

JDK版本:jdk1.8

Maven: apache-maven 3.8.1-bin

前端环境:Node.Js 12\14\16

三、系统实现

竞赛题库管理

高校学科竞赛平台的系统管理员可以管理竞赛题库,可以对竞赛题库信息添加修改删除以及查询操作。具体界面的展示如图5.1所示。

竞赛信息管理

系统管理员可以查看竞赛信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。

晋级名单管理

管理员可以对晋级名单信息进行修改,删除以及查询操作。界面如下图所示:

往年成绩管理

教师可以对往年成绩信息进行修改操作,还可以对往年成绩信息进行查询。界面如下图所示:

参赛申请管理

教师可以对学生提交的参赛申请进行审核。界面如下图所示:

四、文档参考

五、核心代码

复制代码
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;
 
	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
 
	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }
 
    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }
 
    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

六、源码获取

感谢大家点赞、收藏、关注、评论 啦 、获取联系方式在个人简介绿泡泡

相关推荐
广州智造几秒前
OptiStruct实例:3D实体转子分析
数据库·人工智能·算法·机器学习·数学建模·3d·性能优化
2401_cf1 小时前
为什么hadoop不用Java的序列化?
java·hadoop·eclipse
帮帮志1 小时前
idea整合maven环境配置
java·maven·intellij-idea
belldeep1 小时前
如何阅读、学习 Tcc (Tiny C Compiler) 源代码?如何解析 Tcc 源代码?
c语言·开发语言
LuckyTHP1 小时前
java 使用zxing生成条形码(可自定义文字位置、边框样式)
java·开发语言·python
热河暖男2 小时前
【实战解决方案】Spring Boot+Redisson构建高并发Excel导出服务,彻底解决系统阻塞难题
spring boot·后端·excel
技术宝哥3 小时前
Redis(2):Redis + Lua为什么可以实现原子性
数据库·redis·lua
无声旅者4 小时前
深度解析 IDEA 集成 Continue 插件:提升开发效率的全流程指南
java·ide·ai·intellij-idea·ai编程·continue·openapi
0吉光片羽04 小时前
【SpringBoot】集成kafka之生产者、消费者、幂等性处理和消息积压
spring boot·kafka·linq
学地理的小胖砸4 小时前
【Python 操作 MySQL 数据库】
数据库·python·mysql