当前位置: 首页 > news >正文

SpringBoot+Vue实验室研究生信息管理系统源码+论文

代码可以查看文章末尾⬇️联系方式获取记得注明来意哦~分享万套开题报告任务书答辩PPT模板作者完整代码目录供你选择《SpringBoot网站项目》1800套《SSM网站项目》1500套《小程序项目》1600套《APP项目》1500套《Python网站项目》1300套⬇️文章末尾可以获取联系方式需要源码或者演示视频可以联系⬇️⚡感兴趣大家可以点点关注收藏后续更新更多项目资料。⚡采用技术编程语言Java后端框架SpringBoot前端框架Vue数据库MySQL数据表数量13张表运行软件IDEA、Eclipse、VS Code都可以系统功能本系统实现管理员、学生模块。管理员模块功能学生、导师信息、学生成绩、实验室信息、实验室类型、公告信息、课程信息等。学生模块功能学生成绩、课程信息、导师信息、公告信息、实验室信息等。运行截图论文目录核心代码packagecom.controller;importjava.text.SimpleDateFormat;importcom.alibaba.fastjson.JSONObject;importjava.util.*;importorg.springframework.beans.BeanUtils;importjavax.servlet.http.HttpServletRequest;importorg.springframework.web.context.ContextLoader;importjavax.servlet.ServletContext;importcom.service.TokenService;importcom.utils.StringUtil;importjava.lang.reflect.InvocationTargetException;importcom.service.DictionaryService;importorg.apache.commons.lang3.StringUtils;importcom.annotation.IgnoreAuth;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.*;importcom.baomidou.mybatisplus.mapper.EntityWrapper;importcom.baomidou.mybatisplus.mapper.Wrapper;importcom.entity.YonghuEntity;importcom.service.YonghuService;importcom.entity.view.YonghuView;importcom.utils.PageUtils;importcom.utils.R;RestControllerControllerRequestMapping(/yonghu)publicclassYonghuController{privatestaticfinalLoggerloggerLoggerFactory.getLogger(YonghuController.class);AutowiredprivateYonghuServiceyonghuService;AutowiredprivateTokenServicetokenService;AutowiredprivateDictionaryServicedictionaryService;//级联表service/** * 后端列表 */RequestMapping(/page)publicRpage(RequestParamMapString,Objectparams,HttpServletRequestrequest){logger.debug(page方法:,,Controller:{},,params:{},this.getClass().getName(),JSONObject.toJSONString(params));params.put(orderBy,id);PageUtilspageyonghuService.queryPage(params);//字典表数据转换ListYonghuViewlist(ListYonghuView)page.getList();for(YonghuViewc:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c);}returnR.ok().put(data,page);}/** * 后端详情 */RequestMapping(/info/{id})publicRinfo(PathVariable(id)Longid){logger.debug(info方法:,,Controller:{},,id:{},this.getClass().getName(),id);YonghuEntityyonghuyonghuService.selectById(id);if(yonghu!null){//entity转viewYonghuViewviewnewYonghuView();BeanUtils.copyProperties(yonghu,view);//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view);returnR.ok().put(data,view);}else{returnR.error(511,查不到数据);}}/** * 后端保存 */RequestMapping(/save)publicRsave(RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){logger.debug(save方法:,,Controller:{},,yonghu:{},this.getClass().getName(),yonghu.toString());WrapperYonghuEntityqueryWrappernewEntityWrapperYonghuEntity().eq(username,yonghu.getUsername()).or().eq(yonghu_phone,yonghu.getYonghuPhone()).or().eq(yonghu_id_number,yonghu.getYonghuIdNumber());;logger.info(sql语句:queryWrapper.getSqlSegment());YonghuEntityyonghuEntityyonghuService.selectOne(queryWrapper);if(yonghuEntitynull){yonghu.setCreateTime(newDate());yonghu.setPassword(123456);// String role String.valueOf(request.getSession().getAttribute(role));// if(.equals(role)){// yonghu.set// }yonghuService.insert(yonghu);returnR.ok();}else{returnR.error(511,账户或者身份证号或者手机号已经被使用);}}/** * 后端修改 */RequestMapping(/update)publicRupdate(RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){logger.debug(update方法:,,Controller:{},,yonghu:{},this.getClass().getName(),yonghu.toString());//根据字段查询是否有相同数据WrapperYonghuEntityqueryWrappernewEntityWrapperYonghuEntity().notIn(id,yonghu.getId()).andNew().eq(username,yonghu.getUsername()).or().eq(yonghu_phone,yonghu.getYonghuPhone()).or().eq(yonghu_id_number,yonghu.getYonghuIdNumber());;logger.info(sql语句:queryWrapper.getSqlSegment());YonghuEntityyonghuEntityyonghuService.selectOne(queryWrapper);if(.equals(yonghu.getYonghuPhoto())||null.equals(yonghu.getYonghuPhoto())){yonghu.setYonghuPhoto(null);}if(yonghuEntitynull){// String role String.valueOf(request.getSession().getAttribute(role));// if(.equals(role)){// yonghu.set// }yonghuService.updateById(yonghu);//根据id更新returnR.ok();}else{returnR.error(511,账户或者身份证号或者手机号已经被使用);}}/** * 删除 */RequestMapping(/delete)publicRdelete(RequestBodyInteger[]ids){logger.debug(delete:,,Controller:{},,ids:{},this.getClass().getName(),ids.toString());yonghuService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}/** * 登录 */IgnoreAuthRequestMapping(value/login)publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){YonghuEntityyonghuyonghuService.selectOne(newEntityWrapperYonghuEntity().eq(username,username));if(yonghunull||!yonghu.getPassword().equals(password)){returnR.error(账号或密码不正确);}StringtokentokenService.generateToken(yonghu.getId(),username,yonghu,用户);RrR.ok();r.put(token,token);r.put(role,用户);r.put(username,yonghu.getYonghuName());r.put(tableName,yonghu);r.put(userId,yonghu.getId());returnr;}/** * 注册 */IgnoreAuthPostMapping(value/register)publicRregister(RequestBodyYonghuEntityyonghu){// ValidatorUtils.validateEntity(user);if(yonghuService.selectOne(newEntityWrapperYonghuEntity().eq(username,yonghu.getUsername()).orNew().eq(yonghu_phone,yonghu.getYonghuPhone()).orNew().eq(yonghu_id_number,yonghu.getYonghuIdNumber()))!null){returnR.error(账户已存在或手机号或身份证号已经被使用);}yonghuService.insert(yonghu);returnR.ok();}/** * 重置密码 */GetMapping(value/resetPassword)publicRresetPassword(Integerid){YonghuEntityyonghunewYonghuEntity();yonghu.setPassword(123456);yonghu.setId(id);yonghuService.updateById(yonghu);returnR.ok();}/** * 获取用户的session用户信息 */RequestMapping(/session)publicRgetCurrYonghu(HttpServletRequestrequest){Integerid(Integer)request.getSession().getAttribute(userId);YonghuEntityyonghuyonghuService.selectById(id);returnR.ok().put(data,yonghu);}/** * 退出 */GetMapping(valuelogout)publicRlogout(HttpServletRequestrequest){request.getSession().invalidate();returnR.ok(退出成功);}}t(data,yonghu);}/** * 退出 */GetMapping(valuelogout)publicRlogout(HttpServletRequestrequest){request.getSession().invalidate();returnR.ok(退出成功);}}().invalidate();returnR.ok(退出成功);}}t(data,yonghu);}/** * 退出 */GetMapping(valuelogout)publicRlogout(HttpServletRequestrequest){request.getSession().invalidate();returnR.ok(退出成功);}}
http://www.gsyq.cn/news/1372969.html

相关文章:

  • 网易我的世界启动器安装避坑指南:如何从一开始就自定义MCLDownload到D盘(附注册表修改原理)
  • 2026年5月丰宁坝上草原住宿推荐:十大排名夜宿草原评测专业价格 - 品牌推荐
  • 2026兰州友发方管总代理靠谱性评测报告:兰州C型钢檩条/兰州H型钢/兰州JDG管/兰州KBJ管/兰州SC穿线管/选择指南 - 优质品牌商家
  • 紧急更新!OpenAI API v4.5对脑筋急转弯类输出新增隐式过滤机制——立即启用这7个绕过策略,保住你的创意产能
  • Rust错误处理最佳实践:从Result到自定义错误类型
  • Agent开发五层架构详解,AI智能体开发知识点
  • 上海离婚律所哪家强?家理上海分所:专业守护婚姻家庭幸福 - 外贸老黄
  • 鸿蒙问卷投票台页面构建:题目结构、样本分布、最近提交与数据提示模块详解
  • 鸿蒙问卷投票台页面构建:核心投票题与回收趋势模块详解
  • 美国RTP全系列抗静电塑料产品服务介绍
  • Wireshark实战:30分钟看懂并防御ARP欺骗
  • 包括UGV和UAV在内的异构混合阶多智能体系统的一致性[动态和静态]附Matlab代码
  • 四川钢板批发、2026实地厂家供货一站式采购 - 四川盛世钢联营销中心
  • 2026南京防潮抑菌定制板材厂家推荐指南:扬州全屋定制哪家好、扬州全屋定制工厂、扬州全屋定制板材、滁州全屋定制哪家好选择指南 - 优质品牌商家
  • 国家软考中级·数据库系统工程师:一篇讲透“考试地图”与“通关密码”
  • 2026年5月深圳房地产租赁纠纷律师咨询指南:专业解析与性价比之选赖轶峰律师 - 2026年企业推荐榜
  • 30+平台文档一键免费下载:浏览器文档下载工具的终极解决方案
  • 如何用Python脚本实现大麦网90%成功率的自动抢票:终极指南
  • 为什么 AI 框架几乎全选 Python,而不选 C#?| 技术深度分析
  • 2026汽车行业PROFINET步进驱动器评测解析:中空旋转平台、五相步进马达、光栅尺闭环步进驱动器、前十步进电机品牌选择指南 - 优质品牌商家
  • 博德之门3 2026最新官方正版免费下载 一键转存 永久更新 (看到速转存 资源随时走丢)
  • 漏洞研究工作流:从CVE追踪到Docker复现的闭环实践
  • 机器学习预测器评估随机数生成器最小熵:原理、实现与对比分析
  • Linux chmod、chown、chgrp 权限修改实战(工作必用)
  • 2026年AI写作辅助软件实测排行,哪款真正适合写论文?
  • 09-系统技术架构师必备——数据库与数据架构设计
  • 安卓13真机+VMOSPro双环境HttpCanary抓包实战指南
  • Web渗透信息收集实战:从被动侦察到精准测绘
  • 2025-2026年国内人力资源外包公司推荐:TOP5评测价格注意事项适用场景案例 - 品牌推荐
  • 矩阵补全因果推断:破解贸易政策评估中的内生性与异质性难题