/**
* <p>
* 讲师 前端控制器
* </p>
*
* @author testjava
* @since 2020-12-19
*/
@Api(description="讲师管理")
@RestController //这个注解会把对象转化为json数据
@RequestMapping("/eduservice/teacher")
@CrossOrigin
public class EduTeacherController {
@Autowired
EduTeacherService eduTeacherService;
//1 查询讲师表的所有数据
//使用的是rest风格 查询get 添加post 删除delete 修改put
@ApiOperation(value = "所有讲师列表")
@GetMapping("/findAll")//这里的/加不加都对
public R findAll() {
//使用的是rest风格 查询get 添加post 删除delete 修改put
List<EduTeacher> list = eduTeacherService.list(null);
//自定义异常的抛出
try {
//int i = 1 / 0;
}catch (Exception e) {
throw new GuliException(400, "除0异常");
}
return R.ok().data("items", list);
}
//2 逻辑删除讲师方法
@ApiOperation(value = "根据ID删除讲师")
@DeleteMapping("{id}")
public R removeTeacher(@ApiParam(name = "id", value = "讲师ID", required = true)@PathVariable String id) {
boolean b = eduTeacherService.removeById(id);
if(b){
return R.ok();
}else {
return R.error();
}
}
//分页查询
//current当前页
//limit每一页的记录数
@GetMapping("/pageTeacher/{current}/{limit}")
public R pageListTeacher(@PathVariable long current, @PathVariable long limit) {
//创建page对象
Page<EduTeacher> page = new Page<>(current, limit);
//调用方法的时候,底层封装,把分页所有数据封装到page对象里面
eduTeacherService.page(page, null);
long total = page.getTotal();//获取总的记录数
List<EduTeacher> records = page.getRecords();//返回每页数据的list集合
return R.ok().data("total", total).data("rows", records);
}
//条件查询带分页
@PostMapping("/pageteacherCondition/{current}/{limit}")
public R pageteacherCondition(@PathVariable long current, @PathVariable long limit, @RequestBody(required = false) TeacherQuery teacherQuery) {
//创建一个page对象
Page<EduTeacher> page = new Page<>(current, limit);
QueryWrapper<EduTeacher> wrapper = new QueryWrapper<>();
//多条件组合查询 mybatis学过 动态sql
//判断条件值是否为空 如果不为空拼接条件值
String name = teacherQuery.getName();
System.out.println(name);
Integer level = teacherQuery.getLevel();
String begin = teacherQuery.getBegin();
String end = teacherQuery.getEnd();
if(!StringUtils.isEmpty(name)) {
wrapper.like("name", name);
}
if(level != null) {
wrapper.eq("level", level);
}
if(!StringUtils.isEmpty(begin)) {
wrapper.ge("gmt_create", begin);//创建时间要大于开始时间
}
if(!StringUtils.isEmpty(end)) {
wrapper.le("gmt_create", end);//创建时间要小于开始时间
}
wrapper.orderByDesc("gmt_create");//按id升序排列
eduTeacherService.page(page, wrapper);//会把查询结果封装到page里面
long total = page.getTotal();//获取总的记录数
List<EduTeacher> records = page.getRecords();//返回每页数据的list集合
System.out.println(records);
return R.ok().data("total", total).data("rows", records);
}
@PostMapping("/addTeacher")
public R addTeacher(@RequestBody EduTeacher eduTeacher) {//这里不写@RequestBody其实也可以
boolean save = eduTeacherService.save(eduTeacher);
if(save) {
return R.ok();
}else {
return R.error();
}
}
//根据讲师id来查询
@GetMapping("getTeacher/{id}")
public R getTeacher(@PathVariable String id) {
EduTeacher byId = eduTeacherService.getById(id);
System.out.println(byId);
return R.ok().data("teacher", byId);
}
//根据id修改teacher
//还是根据前端填写表单用post
@PostMapping("/updateTeacher")
public R updateTeacher(@RequestBody EduTeacher eduTeacher) {
boolean b = eduTeacherService.updateById(eduTeacher);
if(b) {
return R.ok();
}else {
return R.error();
}
}
}
Mybatis-plus分页查询
最新推荐文章于 2024-07-25 10:21:31 发布