1.实体类加上想多余显示,或是id转换成name的字段
封面,权重就是新加的
/**
* 删除时间
*/
private LocalDateTime deleteTime;
/**
* 封面
*/
@TableField(exist = false)
private String picture;
/**
* 权重
*/
@TableField(exist = false)
private Integer weight;
2.controller会有一个分页就是limit的page()
方法,咱们自己写一个方法对应
@RequestMapping
public String index(Model model,@RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo,@RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer pageSize, String createTimeSpace, String updateTimeSpace, String deleteTimeSpace, Chapters chapters) {
Page<Chapters> page = new Page<Chapters>(pageNo, pageSize);
QueryWrapper<Chapters> queryWrapper = new QueryWrapper<Chapters>();
if(!ObjectUtils.isEmpty(chapters.getTutorialsName())) {
queryWrapper = queryWrapper.like("tutorials_name",chapters.getTutorialsName());
}
if(!ObjectUtils.isEmpty(chapters.getDeleteStatus())) {
queryWrapper = queryWrapper.like("delete_status",chapters.getDeleteStatus());
}
if(!ObjectUtils.isEmpty(chapters.getDeleteTime())) {
queryWrapper = queryWrapper.like("delete_time",chapters.getDeleteTime());
}
//原来是chaptersService.page(),直接分页,现再加上对应的新添属性
IPage<Chapters> pageInfo = chaptersService.pageChaptersAndCover(page, queryWrapper);
model.addAttribute("deleteTimeSpace", deleteTimeSpace);
model.addAttribute("searchInfo", chapters);
model.addAttribute("pageInfo", new PageInfo(pageInfo));
return prefix+"list";
}
3.service层
传参不变,就是在records加上对应的属性
/**
* 回显
* @param page
* @param queryWrapper
* @return
*/
IPage<Chapters> pageChaptersAndCover(Page<Chapters> page, QueryWrapper<Chapters> queryWrapper);
4.ServiceImpl
@Override
public IPage<Chapters> pageChaptersAndCover(Page<Chapters> pageParam, QueryWrapper<Chapters> queryWrapper) {
IPage<Chapters> page = page(pageParam, queryWrapper);
//获取到记录,就是原有属性的实体类的list,
//此时新添的属性为空,要set进去
List<Chapters> recordList = page.getRecords();
//找到新增属性的源头类,形成列表
List<ChapterRelation> chapterRelationList =
chapterRelationService.list();
// 将list 转化为map来使用
//ChapterId对应Weight
Map<Long, Integer> weightMap =
chapterRelationList
.stream()
.collect(Collectors
.toMap(ChapterRelation::getChapterId,
ChapterRelation::getWeight));
//再循环set入原有记录list
for (Chapters chapters : recordList) {
//原实体类的id就是map的key,查出要的weight,set进records记录里
chapters.setWeight(weightMap.get(chapters.getId()));
}
return page;
}