首页 > 数据库 >毕设项目案例实战II基于Java+Spring Boot+MySQL的学生选课系统的设计与实现(源码+数据库+文档)

毕设项目案例实战II基于Java+Spring Boot+MySQL的学生选课系统的设计与实现(源码+数据库+文档)

时间:2024-10-11 21:50:02浏览次数:17  
标签:username 毕设 return ok 选课 源码 user userService public

目录

一、前言

二、技术介绍

三、系统实现

四、论文参考

五、核心代码

六、源码获取


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

一、前言

随着信息技术的飞速发展和教育信息化的不断推进,学生选课系统已成为现代高校教学管理的重要组成部分。该系统旨在提高选课效率,简化管理流程,并为学生提供更加便捷、灵活的选课体验。本文基于Java语言,结合Spring Boot框架和MySQL数据库,设计并实现了一个功能完善的学生选课系统。Java作为一种广泛应用的编程语言,具有跨平台、面向对象、安全性高等特点;Spring Boot则以其简洁的配置和强大的功能,极大地简化了Java应用的开发过程;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

三、系统实现

管理员功能实现
教师管理
管理员进入指定功能操作区之后可以管理教师。其页面见下图。教师的资料需要管理员负责管理,包括修改,新增,删除等操作。

学生管理
管理员进入指定功能操作区之后可以管理学生信息。其页面见下图。学生是本系统的一个角色,其相关信息需要管理员添加,修改,删除等。

专业信息管理
管理员进入指定功能操作区之后可以管理专业信息。其页面见下图。管理员在本页面修改专业名称,删除指定的专业信息,管理员提交专业名称可以查询专业信息。

教师功能实现
课程查询
教师进入指定功能操作区之后可以查询课程。其页面见下图。课程信息是管理员负责增删改查,教师只需要查询课程,查看课程详情。

学生选课管理
教师进入指定功能操作区之后可以管理学生选课信息。其页面见下图。学生参与课程选课,教师负责审核,并在课程学习结束之后,为学生学习的课程进行打分。

学生成绩管理
教师进入指定功能操作区之后可以管理学生成绩信息。其页面见下图。教师修改学生成绩的分数等信息,可以删除学生成绩信息。

学生功能实现
课程信息管理
学生进入指定功能操作区之后可以管理课程信息。其页面见下图。学生查看课程的学分,开课时间与结束时间,课程名称等信息,学生点击课程信息右侧的学生选课按钮,可以选择该课程。

学生选课查询
学生进入指定功能操作区之后可以查询学生选课信息。其页面见下图。学生提供教师姓名,或者是提供课程名称可以查询学生选择的课程信息,查询出来的选课信息可以显示学生已选的课程的审核情况。

学生成绩查询
学生进入指定功能操作区之后可以查询学生成绩。其页面见下图。学生查询已选课程的成绩信息,查看成绩详情,包括分数,是否合格,教师姓名等信息。

四、论文参考

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

五、核心代码

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

六、源码获取

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

标签:username,毕设,return,ok,选课,源码,user,userService,public
From: https://blog.csdn.net/Seapostmoon/article/details/142833542

相关文章

  • 毕设项目案例实战II基于SSM的健身房预约系统设计与实现(源码+数据库+文档)
    目录一、前言二、技术介绍三、系统实现四、论文参考五、核心代码六、源码获取全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末一、前言随着健康意识的日益增强,健身房已成为现代......
  • 基于SpringBoot+Vue+uniapp的税务门户网站的详细设计和实现(源码+lw+部署文档+讲解等)
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • Linux下以编译源码的方式安装Qt5与Qt6及其使用
    文章目录概要资源下载依赖安装编译Qt5Qt6遇到的问题qtchooser使用概要自Qt5.15开始,不再提供opensourceofflineinstallers,也就是原来的.run的安装文件,只能通过源码编译来安装了参考文章资源下载源码网址,链接为Qt的资源,根据自己选择下载例如#下载源码......
  • 【海洋生物识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Ten
    一、介绍海洋生物识别系统。以Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经网络算法,通过对22种常见的海洋生物(‘蛤蜊’,‘珊瑚’,‘螃蟹’,‘海豚’,‘鳗鱼’,‘水母’,‘龙虾’,‘海蛞蝓’,‘章鱼’,‘水獭’,‘企鹅’,‘河豚’,‘魔鬼鱼’,‘......
  • 【开题报告】基于django+vue酒店管理系统(论文+源码)计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,酒店行业正逐步向智能化、信息化转型。传统的酒店管理方式,如手动记录客户信息、房间状态及财务流水等,已难以满足现......
  • 基于SpringBoot+Vue的车险理赔信息管理系统设计和实现(源码+部署讲解+答辩辅导等)
    博主介绍:✌全网粉丝60W+,csdn特邀作者、Java领域优质创作者、csdn/掘金/哔哩哔哩/知乎/道客/小红书等平台优质作者,计算机毕设实战导师,目前专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌技术栈范围:SpringBoot、Vue、SSM、Jsp、HLMT、Nodejs......
  • 基于python的电影票房预测系统设计与实现(论文+源码)_kaic
    基于python的电影票房预测系统设计与实现摘 要近些年来,随着电影行业变得越来越热门,也为影院带来不小的票房收入。传统的影院都是依靠个人经验进行排片,但是由于影片的票房收入可能受多种因素的影响,排片多的电影最后的票房会远低于预期值,导致影院因安排失误而导致大量的票房......
  • 基于SpringBoot的婚纱摄影管理系统的设计与实现(源码+LW+讲解和调试)
     目录:博主介绍:  完整视频演示:系统技术介绍:后端Java介绍前端框架Vue介绍具体功能截图:部分代码参考:  Mysql表设计参考:项目测试:项目论文:​为什么选择我:源码获取:博主介绍:  ......
  • 基于SpringBoot学生宿舍管理系统的设计与实现(源码+LW+讲解和调试)
     目录:博主介绍:  完整视频演示:系统技术介绍:后端Java介绍前端框架Vue介绍具体功能截图:部分代码参考:  Mysql表设计参考:项目测试:项目论文:​为什么选择我:源码获取:博主介绍:  ......
  • 潮玩宇宙方块兽源码app开发
    潮玩宇宙方块兽系统开发咨询15093253670潮玩宇宙方块兽软件开发,潮玩宇宙方块兽模式开发,潮玩宇宙方块兽APP开发,潮玩宇宙方块兽源码开发,潮玩宇宙方块兽平台搭建,潮玩宇宙方块兽开发。▍特别提示:本文仅供开发需求者作模式参考,请理性对待。我公司可定制类似系统,非平台方,玩家勿扰!......