1. 条件
:封装所有的查询条件为一个Vo对象。
@ApiModel(value
= "Course查询对象", description
= "课程查询对象封装")
@Data
public class CourseListVo {
@ApiModelProperty(value
= "课程名称")
private String title
;
@ApiModelProperty(value
= "课程发布状态")
private String status
;
@ApiModelProperty(value
= "一级类别id")
private String subjectParentId
;
@ApiModelProperty(value
= "二级类别id")
private String subjectId
;
}
2. 分页
:创建配置类,引入分页插件
@Configuration
@MapperScan("com.demo.mapper")
public class EduConfig {
@Bean
public PaginationInterceptor
paginationInterceptor() {
return new PaginationInterceptor();
}
}
3. 查询
controller层
@ApiOperation(value
="课程列表")
@GetMapping("getCourseList/{current}/{limit}")
public R
getCourseList(
@PathVariable Long current
,
@PathVariable Long limit
,
CourseListVo courseListVo
){
Page
<EduCourse> pageCourse
=new Page<>(current
,limit
);
eduCourseService
.pageCourseQuery(pageCourse
,courseListVo
);
List
<EduCourse> rows
= pageCourse
.getRecords();
long total
= pageCourse
.getTotal();
return R
.ok().data("total",total
).data("rows",rows
);
}
service接口层
void pageCourseQuery(Page
<EduCourse> pageCourse
, CourseListVo courseListVo
);
service实现层
public void pageCourseQuery(Page
<EduCourse> pageCourse
, CourseListVo courseListVo
) {
QueryWrapper
<EduCourse> queryWrapper
=new QueryWrapper<>();
queryWrapper
.orderByDesc("gmt_create");
if(courseListVo
==null
){
baseMapper
.selectPage(pageCourse
,queryWrapper
);
}
String title
= courseListVo
.getTitle();
String status
= courseListVo
.getStatus();
String subjectParentId
= courseListVo
.getSubjectParentId();
String subjectId
= courseListVo
.getSubjectId();
if(!StringUtils
.isEmpty(title
)){
queryWrapper
.like("title",title
);
}
if(!StringUtils
.isEmpty(status
)){
queryWrapper
.eq("status",status
);
}
if(!StringUtils
.isEmpty(subjectParentId
)){
queryWrapper
.eq("subject_parent_id",subjectParentId
);
}
if(!StringUtils
.isEmpty(subjectId
)){
queryWrapper
.eq("subject_id",subjectId
);
}
baseMapper
.selectPage(pageCourse
,queryWrapper
);
}