this代表当前类的对象
#1.MP代码生成器
#2.逻辑删除
##2.1插件
##2.2实体类:@TableLogic
##2.3控制层:restFul风格+@PathVariable
//逻辑删除,返回R统一返回对象
@DeleteMapping("{id}")
public R removeById(@PathVariable String id){
boolean flag = eduTeacherService.removeById(id);
if(flag){
return R.ok();
}else {
return R.error()
}
}
#3.swagger接口测试
##3.1在common中创建配置类:@Configuration+@EnableSwagger2
##3.2在service_edu中引入common中service_base的依赖才能用
##3.3在service_edu的启动类上配置包扫描@ComponentScan(basePackages ={“com.atguigu”})
#4.统一结果返回
##4.1在common中创建接口ResultCode,定义数据返回状态码,成功20000,失败20001
##4.2在common中创建统一返回类R
##4.3在service中导入相关依赖
#5.分页查询
##5.1在配置类中添加分页插件
##5.2用restFul风格+@PathVariable
//分页功能
@GetMapping("{page}/{limit}")
public R pageParam(@PathVariable Long page,@PathVariable Long limit){
//1.创建一个page对象
Page<EduTeacher> page1=new Page<>(page, limit);
//2.调用page方法访问数据库获取数据
eduTeacherService.page(page1, null);
//3.指定类型获取数据
List<EduTeacher> records = page1.getRecords();
long total = page1.getTotal();
long current = page1.getCurrent();
return R.ok().data("total", total).data("records", records);
#6.!!多条件"组合"查询+分页功能
##6.1把条件值封装成VO对象,然后把VO对象传到接口中
##6.2写接口,VO对象加注解@RequestBody:使用json传递数据,把json数据传到对应的对象中
#6.3@RequestBody(required = false)表示这个值可以为null,和@PostMapper配合使用
//多条件查询+分页
@GetMapping("pageTeacherCondition/{current}/{limit}") //从页面传过来的查询条件封装到VO对象中,VO对象传到控制层参数中
public R pageTeacherCondition(@PathVariable Long current, @PathVariable Long limit, TeacherQuery teacherQuery){
//1创建实体类对象
Page<EduTeacher> page=new Page<>(current, limit);
//2.多条件组合查询
QueryWrapper<EduTeacher> queryWrapper=new QueryWrapper<>();
//把数据从VO中取出来(页面传过来的条件)进行判断
String name = teacherQuery.getName();
Integer level = teacherQuery.getLevel();
String begin = teacherQuery.getBegin();
String end = teacherQuery.getEnd();
//判断,如果不为空就拼接
if (!StringUtils.isEmpty(name)) {
queryWrapper.like("name", name);//模糊查询
}
if (!StringUtils.isEmpty(level) ) {
queryWrapper.eq("level", level);
}
if (!StringUtils.isEmpty(begin)) {
queryWrapper.ge("gmt_create", begin);//大于等于
}
if (!StringUtils.isEmpty(end)) {
queryWrapper.le("gmt_modified", end);//小于等于
}
//3.调用方法实现分页
eduTeacherService.page(page, queryWrapper);
List<EduTeacher> records = page.getRecords();
long total = page.getTotal();
return R.ok().data("total", total).data("records", records);
}