概述
目录
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 添加方法
ClazzControlle
/**
* 查询所有班级信息
* @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
*/
@Override
public 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 {
@Autowired
private 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 = "E:/idea/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、学生管理功能实现1、回显搜索条件中的班级选项2、查询学生信息(分页带条件)3、异步图片上传处理头像4、添加和修改学生信息5、学生的删除和批量删除的全部内容,希望文章能够帮你解决尚硅谷智慧校园 —— 5、学生管理功能实现1、回显搜索条件中的班级选项2、查询学生信息(分页带条件)3、异步图片上传处理头像4、添加和修改学生信息5、学生的删除和批量删除所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复