配置类
MybatisPlusConfig
package com.wwk.config;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* 配置MP的分页插件
*/
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mybatisPlusInterceptor;
}
}
使用
DishServiceImpl
@Override
public Page<DishVO> getDishVo(Integer page, Integer pageSize, String name) {
Page<Dish> dishPage = new Page<>(page, pageSize);
Page<DishVO> dishVOPage = new Page<>(page, pageSize);
List<Category> categoryList = categoryService.list();
LambdaQueryWrapper<Dish> qw = new LambdaQueryWrapper<>();
qw.like(StringUtils.hasText(name), Dish::getName, name);
qw.orderByDesc(Dish::getUpdateTime);
dishPage = this.page(dishPage, qw);
BeanUtils.copyProperties(dishPage, dishVOPage, "records");
List<Dish> records = dishPage.getRecords();
List<DishVO> dishVoList = records.stream().map(dish -> {
DishVO dishVO = new DishVO();
BeanUtils.copyProperties(dish, dishVO);
for (Category category : categoryList) {
if (category.getId().equals(dish.getCategoryId())) {
dishVO.setCategoryName(category.getName());
break;
}
}
return dishVO;
}).collect(Collectors.toList());
dishVOPage.setRecords(dishVoList);
return dishVOPage;
}