尚硅谷智慧校园 —— 5、学生管理功能实现
目录
1、回显搜索条件中的班级选项
1.1、在 controller 添加方法
2、查询学生信息(分页带条件)
2.1、在 service 及其实现类添加方法
2.2、在 controller 添加方法
3、异步图片上传处理头像
3.1、在 controller 添加方法
4、添加和修改学生信息
4.1、在 controller 添加方法
5、学生的删除和批量删除
5.1、在 controller 添加方法
查看学生信息之前,首先要获取所有的班级信息,用来条件查询
1、回显搜索条件中的班级选项
1.1、在 controller 添加方法
ClazzController
/*** 查询所有班级信息* @return*/@ApiOperation("查询所有班级信息")@GetMapping("/getClazzs")public Result getClazzs(){List<Clazz> clazzList = clazzService.list();return Result.ok(clazzList);}
2、查询学生信息(分页带条件)
2.1、在 service 及其实现类添加方法
StudentService
/*** 查询学生信息(分页带条件)* @param page* @param student 分页查询的条件* @return*/IPage<Student> getStudentByOpr(Page<Student> page, Student student);
StudentServiceImpl
/*** 查询学生信息(分页带条件)* @param page* @param student 分页查询的条件* @return*/@Overridepublic IPage<Student> getStudentByOpr(Page<Student> page, Student student) {QueryWrapper<Student> queryWrapper = new QueryWrapper<>();// 若分页的查询条件不为空,则添加条件String name = student.getName();if(!StringUtils.isEmpty(name)){queryWrapper.like("name", name);}String clazzName = student.getClazzName();if(!StringUtils.isEmpty(clazzName)){queryWrapper.eq("clazz_name", clazzName);}queryWrapper.orderByDesc("id");Page<Student> studentPage = baseMapper.selectPage(page, queryWrapper);return studentPage;}
2.2、在 controller 添加方法
StudentController
/*** @Author zhang* @Date 2022/4/18 - 16:11* @Version 1.0*/
@RestController
@RequestMapping("/sms/studentController")
public class StudentController {@Autowiredprivate StudentService studentService;/*** 查询学生信息(分页带条件)* 请求路径:/sms/studentController/getStudentByOpr/{pageNo}/{pageSize}?name=xxx&clazzName=xxx* @param pageNo 分页查询的页码* @param pageSize 分页查询每页的数据量* @param student 分页查询的条件* @return*/@ApiOperation("查询学生信息(分页带条件)")@GetMapping("/getStudentByOpr/{pageNo}/{pageSize}")public Result getStudentByOpr(@ApiParam("分页查询的页码") @PathVariable("pageNo") Integer pageNo,@ApiParam("分页查询每页的数据量") @PathVariable("pageSize") Integer pageSize,// 使用Student对象接收name和clazzName参数@ApiParam("分页查询的条件") Student student){Page<Student> page = new Page<>(pageNo, pageSize);IPage<Student> studentIPage = studentService.getStudentByOpr(page, student);return Result.ok(studentIPage);}}
3、异步图片上传处理头像
Request URL: /sms/system/headerImgUpload
Request Method: POST
先将图片保存,再将图片路径与其他信息保存到数据库
3.1、在 controller 添加方法
SystemController
/*** 文件上传统一入口* @param multipartFile 上传的头像文件* @return*/@ApiOperation("文件上传统一入口")@PostMapping("/headerImgUpload")public Result headerImgUpload(// 接收图片@ApiParam("上传的头像文件") @RequestPart("multipartFile") MultipartFile multipartFile){// 生成文件名String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase();String originalFilename = multipartFile.getOriginalFilename();int index = originalFilename.lastIndexOf(".");String newFileName = uuid.concat(originalFilename.substring(index));// 保存文件 将文件发送到第三方/独立的图片服务器上,这里保存到本机String portraitPath = "D:/Java/尚硅谷毕设项目/myzhxy/target/classes/public/upload/".concat(newFileName);try {multipartFile.transferTo(new File(portraitPath)); // 将图片传输到指定位置} catch (IOException e) {e.printStackTrace();}// 响应图片路径String path = "upload/".concat(newFileName);return Result.ok(path);}
4、添加和修改学生信息
4.1、在 controller 添加方法
Request URL: /sms/studentController/addOrUpdateStudent
Request Method: POST
若为添加学生信息,则需要设置密码,后端需要将密码转为密文;若为修改学生信息,无法修改密码
StudentController
/*** 添加或修改学生信息* @param student 添加或修改的学生的JSON格式的信息* @return*/@ApiOperation("添加或修改学生信息")@PostMapping("/addOrUpdateStudent")public Result addOrUpdateStudent(@ApiParam("添加或修改的学生的JSON格式的信息") @RequestBody Student student){// 若id为空,则为添加学生信息,需要将密码转为密文Integer id = student.getId();if(null == id || 0 == id){student.setPassword(MD5.encrypt(student.getPassword()));}studentService.saveOrUpdate(student);return Result.ok();}
5、学生的删除和批量删除
Request URL: http://localhost:8080/sms/studentController/delStudentById
Request Method: DELETE
请求参数是要删除的学生的 ID 的 JSON 数组
5.1、在 controller 添加方法
StudentController
/*** 删除或批量删除学生信息* @param ids 要删除的学生ID的JSON数组* @return*/@ApiOperation("删除或批量删除学生信息")@DeleteMapping("/delStudentById")public Result delStudentById(@ApiParam("要删除的学生ID的JSON数组") @RequestBody List<Integer> ids) {studentService.removeByIds(ids);return Result.ok();}
尚硅谷智慧校园 —— 5、学生管理功能实现相关推荐
- SpringBoot练手项目《尚硅谷智慧校园》学习笔记
一 项目展示 1 登录及角色控制 2首页展示 3 业务模块展示 二 智慧校园系统简介 2.1 项目简介 智慧校园管理系统:主要是以年级.班级为单位,进行老师和学生信息记录和统计功能.项目采用前 ...
- 尚硅谷智慧校园-SpringBoot最佳入手级项目
1.项目简介 智慧校园管理系统:主要是以年级.班级为单位,进行老师和学生信息记录和统计功能.项目采用前后端分离架构思想,前端采用HTML+CSS+VUE来实现页面效果展示,后端采用SpringBoot ...
- 尚硅谷智慧校园-3、年级管理系统的实现
目录 查询年纪信息(分页附加条件) 在Service及实现类中添加方法 在Controller添加方法 添加和修改年级信息 在Controller添加方法 删除和批量删除年级信息 在Controlle ...
- 尚硅谷linux教程6 组管理和权限管理(难点、重点)
尚硅谷linux教程6 组管理和权限管理(难点.重点) linux组的基本介绍 在 linux 中的每个用户必须属于一个组,不能独立于组外.在 linux 中每个文件有所有者.所在组.其它组的概念. ...
- 智慧校园,突破信息化管理困境
教育信息化2.0行动计划>指出,到2022年基本实现"三全两高一大"的发展目标,即教学应用覆盖全体教师.学习应用覆盖全体适龄学生.数字校园建设覆盖全体学校,信息化应用水平和师 ...
- 【阳光服务快聊】智慧校园视频监控管理方案!
又到开学季啦-随着"神兽"们陆续返回校园,校方至关重要的安全监管问题被重新提上了日程. 从学生们踏入校园教室.在食堂就餐:到开展各类课外活动,在面积广.人数多的校园里,如何做到多方 ...
- 案例 | 蓝天智通:智办事助力“智慧校园”数智化管理,提升人效
01.客户介绍 北京蓝天智通科技有限公司以物联网.虚拟化技术为基础,开发数智校园一体化管理系统,助力中国教学管理,实现数字化.可视化.智能化,打造数字孪生智慧校园,赋能教育行业,提高教育信息化和现代化 ...
- 尚硅谷在线教育七:尚硅谷在线教育项目课程管理相关的开发
文章目录 1.项目介绍 1.1.项目流程介绍 1.2项目涉及的一些表 2 编辑课程基本信息 2.1创建VO类封装表单提交的数据 2.2 Conroller层 2.3service层 2.4 编辑课程基 ...
- 《智慧校园规划与管理》10个部分
下载地址:https://download.csdn.net/download/zlsfc58/21460934
最新文章
- 设置apache目录认证
- 有sql漏洞的php脚本,DedeCms V57 plus/search.php 文件SQL注射0day漏洞脚本安全 -电脑资料...
- EF Code First 学习笔记:关系(转)
- 窥探ASP.Net MVC底层原理 实现跨越Session的分布式TempData
- Dijkstra算法优先队列实现与Bellman_Ford队列实现的理解
- SpringBoot : Spring容器生命周期管理:SmartLifecycle
- android wifi是否可用,Android检测网络连接是否可用
- tomcat8开启远程debug
- Flash学习资源汇编
- android按钮放图片不显示文字,Android 自定义标签 Imagebutton实现ImageButton里放置文字...
- 无监督特征选择算法综述
- QXDM5 中 Qt5WebKit.dll 丢失问题解决办法
- springboot整合jett导出数据(2)
- AJAX框架简笔画风景简单,海南风景简笔画超简单
- python两个等于号是代表什么_python两个等于号是什么意思_等于号表示什么意思...
- 数据结构之递归算法解决汉诺塔问题
- TcaplusDB君 · 行业新闻汇编(11月04号)
- Java募捐_GitHub - javayhu/XingShan: 使徒行善,让行善成为一种习惯
- Cisco思科交换机 入门 - 查看和更改交换机系统时间
- buildroot 使用
热门文章
- oracle 特殊的字符,Oracle一些特殊字符转义
- 台式计算机i7,I7台式计算机硬件配置
- bartender连接oracle,BarTender连接不上数据库怎么办
- Hamachi Error 2503/2502 Solutions on Windows 8/8.1
- 现代密码学上机程序c语言,现代密码学与加解密技术实验报告
- Prolific USB-UART 在64位win7 win8 win10上的安装
- Google 的十大信条
- 显示所有大写字母python_Python编程如何查找和列出输入字符串中的所有大写字母...
- 【干货】微视短视频去水印软件使用介绍
- 【工作复盘】复盘我的2020,展望2021