1.后端
1.1mybatis-plus分页查询配置
在商品热卖数据中,只让其显示八条数据 将要使用分页
也就是service.page方法 此时需要配置 mp拦截器
@Configuration
public class MybatisPlusConfig {@Beanpublic PaginationInterceptor paginationInterceptor() {return new PaginationInterceptor();}
}
1.2递归查询
1.2.1更新实体类
这些都有外键关联 比如商品小类 有一个商品大类id
很多商品有一个商品小类id(红米k60 红米k70 都属于红米k系列小类)
1.2.2递归查询
这次我把控制层和业务层分开了 各尽其职 hhh
BigTypeController层
@ApiOperation("查询所有大类 里面蕴含小类及产品")@GetMapping("/findCategories")public Result findCategories(){return bigTypeService.findCategories();}
BigTypeServiceImpl层
@Resourceprivate BigTypeMapper bigTypeMapper;@Resourceprivate SmallTypeMapper smallTypeMapper;@Resourceprivate ProductMapper productMapper;@Overridepublic 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 宽度不变,高度自动变化,保持原图宽高比不变