跟着峰哥学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左菜单栏调整

相关推荐
weixin_440784119 小时前
【HandlerThread实现原理】
android·java·开发语言
天空'之城9 小时前
C 语言工业级通用组件手写 24:互补滤波
c语言·开发语言·互补滤波·嵌入式算法·工业级组件
leoZ23110 小时前
本地跑大模型实战(七):llama.cpp 性能调优,让推理更快更省
java·人工智能·spring·生成对抗网络·语言模型·自然语言处理·llama
XR12345678810 小时前
工厂车间无线网络方案对比:AGV漫游哪家强?
开发语言·php
傻啦嘿哟10 小时前
某短视频平台视频爬虫实战:抓取推荐流视频信息,绕过反爬的3种技巧
开发语言·爬虫·python
現実君11 小时前
【硬件进阶】AD22上位替换JLEDA教程
开发语言·php
mubei-12311 小时前
SpringDAO的用法
java·开发语言·数据库
happymagic11 小时前
java spring boot做的jar包程序,如何实现自动运行启动
java·运维·服务器·spring boot·jar
格林威13 小时前
多相机微秒级对齐:硬件触发 vs PTP(IEEE 1588)方案实战对比
开发语言·人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉
都叫我大帅哥14 小时前
给 Java 程序员的 CSRF 攻击详解:从原理到防御实战
java