目录
1、查询教师信息(分页带条件)
Request URL: http://localhost:8080/sms/teacherController/getTeachers/{pageNo}/{pageSize}name=xxx&clazzName=xxx
Request Method: GET
1.1、在 service 及其实现类添加方法
TeacherService
/**
* 获取教师信息(分页带条件)
* @param page
* @param teacher 教师名称,用于模糊查询
* @return
*/
IPage<Teacher> getTeachersByOpr(Page<Teacher> page, Teacher teacher);
TeacherServiceImpl
/**
* 获取教师信息(分页带条件)
* @param page
* @param teacher 教师名称,用于模糊查询
* @return
*/
@Override
public IPage<Teacher> getTeachersByOpr(Page<Teacher> page, Teacher teacher) {
QueryWrapper<Teacher> queryWrapper = new QueryWrapper<>();
// 若教师名称不为空,则添加模糊查询条件
if(!StringUtils.isEmpty(teacher.getName())){
queryWrapper.like("name", teacher.getName());
}
// 若班级名称不为空,则添加查询条件
if(!StringUtils.isEmpty(teacher.getClazzName())){
queryWrapper.eq("clazz_name", teacher.getClazzName());
}
queryWrapper.orderByDesc("id");
Page<Teacher> teacherPage = baseMapper.selectPage(page, queryWrapper);
return teacherPage;
}
1.2、在 controller 添加方法
TeacherController
@RestController
@RequestMapping("/sms/teacherController")
public class TeacherController {
@Autowired
private TeacherService teacherService;
/**
* 获取教师信息(分页带条件)
* @param pageNo 分页查询的页码
* @param pageSize 分页查询每页的数据量
* @param teacher 教师名称,用于模糊查询
* @return
*/
@ApiOperation("获取教师信息(分页带条件)")
@GetMapping("/getTeachers/{pageNo}/{pageSize}")
public Result getTeachers(
@ApiParam("分页查询的页码") @PathVariable("pageNo") Integer pageNo,
@ApiParam("分页查询每页的数据量") @PathVariable("pageSize") Integer pageSize,
@ApiParam("教师名称,用于模糊查询") Teacher teacher
){
Page<Teacher> page = new Page<>(pageNo, pageSize);
IPage<Teacher> iPage = teacherService.getTeachersByOpr(page, teacher);
return Result.ok(iPage);
}
}
2、添加或修改教师信息
Request URL: http://localhost:8080/sms/teacherController/saveOrUpdateTeacher
Request Method: POST
请求会发送 JSON 格式的教师信息,添加没有 id 属性,修改有 id 属性
2.1、在 controller 添加方法
/**
* 添加或修改教师信息
* @param teacher 要保存或修改的JSON格式的教师信息
* @return
*/
@ApiOperation("添加或修改教师信息")
@PostMapping("/saveOrUpdateTeacher")
public Result saveOrUpdateTeacher(
@ApiParam("要保存或修改的JSON格式的教师信息") @RequestBody Teacher teacher
){
// 如果是添加教师,将密码转为密文
if(teacher.getId() == null || teacher.getId() == 0){
teacher.setPassword(MD5.encrypt(teacher.getPassword()));
}
teacherService.saveOrUpdate(teacher);
return Result.ok();
}
3、删除和批量删除教师信息
Request URL: http://localhost:8080/sms/teacherController/
Request Method: DELETE
浏览器会发送需要删除的教师的 id 的 JSON 数组
3.1、在 controller 添加方法
/**
* 删除或批量删除教师信息
* @param ids 要删除的教师id的JSON数组
* @return
*/
@ApiOperation("删除或批量删除教师信息")
@DeleteMapping("/deleteTeacher")
public Result deleteTeacher(
@ApiParam("要删除的教师id的JSON数组") @RequestBody List<Integer> ids
){
teacherService.removeByIds(ids);
return Result.ok();
}