Spring MVC学生管理:高效增删改查接口实现
package com.bike.web;
import com.bike.dto.JsonResult;
import com.bike.dto.Page;
import com.bike.pojo.Student;
import com.bike.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
/**
* 学生管理控制器,处理与学生相关的请求
*/
@Controller
@RequestMapping('/student')
public class StudentController {
@Autowired
private StudentService studentService;
/**
* 跳转到学生管理页面
* @return 学生管理页面路径
*/
@RequestMapping('/studentManage')
public String studentManage(){
return 'student';
}
/**
* 添加或更新学生信息
* @param studentIcon 学生头像图片
* @param student 学生信息
* @param request HTTP请求
* @return 操作结果JSON数据
*/
@RequestMapping(value = '/addOrUpdate', method = RequestMethod.POST)
@ResponseBody
public JsonResult addOrUpdate(MultipartFile studentIcon, Student student, HttpServletRequest request) {
if (student.getSid() == null || ''.equals(student.getSid())) {
return studentService.add(studentIcon, student, request);
} else {
return studentService.update(studentIcon, student, request);
}
}
/**
* 获取所有学生信息(分页)
* @param page 当前页码
* @param rows 每页显示条数
* @return 学生信息分页数据
*/
@RequestMapping('/showAll')
@ResponseBody
public Page<Student> showAll(Integer page, Integer rows) {
return studentService.findAllToPage(page, rows);
}
/**
* 删除学生信息
* @param sid 学生ID
* @return 操作结果JSON数据
*/
@RequestMapping(value = '/remove', method = RequestMethod.POST)
@ResponseBody
public JsonResult remove(Integer sid) {
return studentService.removeById(sid);
}
/**
* 根据ID获取学生信息,用于回显表单数据
* @param sid 学生ID
* @return 学生信息
*/
@RequestMapping('/loadForm')
@ResponseBody
public Student loadForm(Integer sid) {
return studentService.findById(sid);
}
}
代码分析:
这段代码定义了一个名为 StudentController 的控制器类,用于处理与学生相关的HTTP请求。
核心代码分析:
addOrUpdate方法: 处理学生信息的添加和更新操作。- 通过判断
student.getSid()是否为空来区分添加或更新操作。 - 调用
studentService.add()或studentService.update()方法执行数据库操作。
- 通过判断
remove方法: 处理学生信息的删除操作。- 接收学生ID作为参数。
- 调用
studentService.removeById()方法执行删除操作。
loadForm方法: 根据ID获取学生信息,用于回显表单数据。- 接收学生ID作为参数。
- 调用
studentService.findById()方法获取学生信息。
用法流程:
- 添加学生: 发送POST请求到
/student/addOrUpdate路径,传递学生信息和头像图片。 - 更新学生: 发送POST请求到
/student/addOrUpdate路径,传递更新后的学生信息和头像图片。 - 删除学生: 发送POST请求到
/student/remove路径,传递要删除的学生ID。 - 回显学生数据: 发送GET请求到
/student/loadForm路径,传递要回显的学生ID。
注意:
- 这段代码仅提供核心功能示例,实际应用中需要根据具体需求进行修改和扩展。
- 需要配合前端页面、数据库操作等部分才能实现完整的学生管理功能。
原文地址: https://www.cveoy.top/t/topic/i7e 著作权归作者所有。请勿转载和采集!