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();
    }
}

六、源码获取

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

相关推荐
F_D_Z2 分钟前
【解决办法】网络训练报错AttributeError: module ‘jax.core‘ has no attribute ‘Shape‘.
开发语言·python·jax
l***21783 分钟前
MySQL--》理解锁机制中的并发控制与优化策略
数据库·mysql·oracle
chenyuhao20246 分钟前
MySQL索引特性
开发语言·数据库·c++·后端·mysql
oouy11 分钟前
《Java泛型:给你的代码装上“快递分拣系统”,再也不会拆出一双鞋!》
后端
Python私教13 分钟前
别再瞎折腾 LangChain 了:从 0 到 1 搭建 RAG 知识库的架构决策实录
后端
微学AI13 分钟前
openGauss在AI时代的向量数据库应用实践与技术演进深度解析
后端
踏浪无痕13 分钟前
手写Spring事务框架:200行代码揭开@Transactional的神秘面纱( 附完整源代码)
spring boot·spring·spring cloud
前端伪大叔15 分钟前
第29篇:99% 的量化新手死在挂单上:Freqtrade 隐藏技能揭秘
后端·python·github
白衣鸽子16 分钟前
【基础数据篇】数据格式化妆师:Formatter模式
后端·设计模式
R***623117 分钟前
Spring Boot 整合 log4j2 日志配置教程
spring boot·单元测试·log4j