基于SpringBoot的选课调查系统

博主主页: 怪兽毕设
**博主简介:**专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。

技术范围: SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。
**主要内容:**功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导。

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

🍅文末获取联系🍅

系统介绍

从技术可行性角度看,选择Java语言和SpringBoot框架有助于提高系统的稳定性和性能,同时简化开发流程和提高开发效率。MySQL数据库作为常用的关系型数据库,提供了可靠的数据存储和管理能力,为系统提供了良好的数据支持。技术选型的合理性保证了系统的可靠性和扩展性,有助于满足系统的需求并保持系统的持续运行。

系统包含技术

后端:springboot

前端:vue、js、css等

开发工具:idea/vscode

数据库:mysql 5.7

JDK版本:jdk1.8

功能截图

视频演示

请文末卡片dd我获取更详细的演示视频

代码实现

java 复制代码
/**
 * 登录相关
 */
@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 role, HttpServletRequest request) {
        UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
        if(user != null){
            if(!user.getRole().equals(role)){
                return R.error("权限不正常");
            }
            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);
        }else{
            return R.error("账号或密码或权限不对");
        }
 
    }
    
    /**
     * 注册
     */
    @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("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
        PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }
 

源码获取

大家点赞、收藏、关注、评论啦 、查看 👇🏻获取联系方式👇🏻

相关推荐
豆角焖肉9 分钟前
Maven进阶与搭建私服
java·maven
大不点wow20 分钟前
Java序列化与反序列化:让对象走出JVM
java·开发语言·jvm
止语Lab24 分钟前
好的 DX 不等于少写代码——三种语言的摩擦力设计课
后端
吃饱了得干活24 分钟前
别再手动解析 LLM 输出了!LangChain 四种结构化输出方案对比
后端·python·langchain
噢,我明白了25 分钟前
Java中日期和字符串的处理
java·开发语言·日期
程序员天天困29 分钟前
Arthas trace 命令怎么用?一行定位最慢那行代码
jvm·后端
Huiturn29 分钟前
GPT 5.6 连续编码 10 小时,纯 Python 啃下 Word 二进制格式——doc2docx 实现拆解
后端
dkbnull32 分钟前
Spring Boot请求处理组件对比详解
java·spring boot
jun_bai33 分钟前
Orthanc服务器使用java上传dicom影像文件
java·运维·服务器
顺风尿一寸35 分钟前
记一次 Spring AOP 与定时任务引发的死锁排查
java