跟着峰哥学java 第四天 商品分类 前后端显示

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 宽度不变,高度自动变化,保持原图宽高比不变

2.3配置文字超长省略

3.数据处理

3.1关于this的坑

3.2 map 与 箭头函数

4.自定义快速生成

4.1view{$}*x

5.前端视图层的规整

5.1上方有view时 模块高度调整

5.2 scroll-view 滑动视图

5.3左菜单栏调整

相关推荐
朝朝辞暮i11 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
leikooo12 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
小师兄吃牛肉12 小时前
C语言篇:宏
c语言·开发语言
郑同学的笔记12 小时前
【c++随笔28】strcmp 和 memcmp对比
开发语言·c++
言乐613 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
weixin_3077791313 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
Ivanqhz13 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
kakakahahahaha13 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
朝朝辞暮i13 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
沙漠之主13 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++