1.后端
1.1mybatis-plus分页查询配置
在商品热卖数据中,只让其显示八条数据 将要使用分页
也就是service.page方法 此时需要配置 mp拦截器
java
@Configuration
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
1.2递归查询
1.2.1更新实体类
这些都有外键关联 比如商品小类 有一个商品大类id
很多商品有一个商品小类id(红米k60 红米k70 都属于红米k系列小类)
1.2.2递归查询
这次我把控制层和业务层分开了 各尽其职 hhh
BigTypeController层
java
@ApiOperation("查询所有大类 里面蕴含小类及产品")
@GetMapping("/findCategories")
public Result findCategories(){
return bigTypeService.findCategories();
}
BigTypeServiceImpl层
java
@Resource
private BigTypeMapper bigTypeMapper;
@Resource
private SmallTypeMapper smallTypeMapper;
@Resource
private ProductMapper productMapper;
@Override
public Result findCategories() {
QueryWrapper<BigType> bigTypeQueryWrapper = new QueryWrapper<>();
List<BigType> bigTypeList = bigTypeMapper.selectList(bigTypeQueryWrapper);
for (BigType bigType : bigTypeList) {
Integer bigTypeId = bigType.getId();
QueryWrapper<SmallType> smallTypeQueryWrapper = new QueryWrapper<SmallType>().eq("bigTypeId", bigTypeId);
List<SmallType> smallTypeList = smallTypeMapper.selectList(smallTypeQueryWrapper);
bigType.setSmallTypeList(smallTypeList);
for (SmallType smallType : smallTypeList) {
Integer smallTypeId = smallType.getId();
QueryWrapper<Product> productQueryWrapper = new QueryWrapper<Product>().eq("typeId", smallTypeId);
List<Product> productList = productMapper.selectList(productQueryWrapper);
smallType.setProductList(productList);
}
}
return new Result(200,"查询分类数据成功",bigTypeList);
}
这是一个简单的递归 但仍有需要注意的地方,
根据不同的属性 设置到不同的嵌套循环中 比如说smallTypeList
mp真实一个处理单表操作的好工具
2.前端
2.1数据解耦处理
根据生命周期来讲 这些影响不大
2.2mode = widthfix
Widthfix 宽度不变,高度自动变化,保持原图宽高比不变