BeanCopyUtils.copyBeanList拷贝主要根据类型和字段名去进行一个匹配,如果都相同的话才能拷贝过去

项目场景:

提示:这里简述项目相关背景:

根据id获取name 获取不到
在这里插入图片描述在这里插入图片描述


问题描述

​​​​​​​​ 进行下面操作时categoryName获取不到,打断点之后发现实在拷贝时出现异常

//分页查询
         Page<Article> page = new Page<>(pageNum,pageSize);
        page(page,lambdaQueryWrapper);

        //查询categoryName
        List<Article> articles = page.getRecords();
        //categoryId去查询categoryName
        //1for循环方法
        for (Article article : articles) {//循环这个list集合
                                                         //获取到这个分类Id
            Category category = categoryService.getById(article.getCategoryId());
            article.setCategoryName(category.getName());
        }
        //封装查询结果
        List<ArticleListVo> articleListVos = BeanCopyUtils.copyBeanList(page.getRecords(), ArticleListVo.class);
        //拷贝主要根据类型和字段名去进行一个匹配,如果都相同的话就能拷贝过去
        PageVo pageVo = new PageVo(articleListVos,page.getTotal());
        return ResponseResult.okResult(pageVo);

原因分析:

拷贝时出现错误

拷贝主要根据类型和字段名去进行一个匹配,如果都相同的话就能拷贝过去,检查实体类和Vo之后发现Article实体里面的categoryName数据类型为String,ArticleVo里类型为Long,类型不匹配所以没有拷贝过来。
在这里插入图片描述


解决方案:

更改categoryName的数据类型,Article类和ArticleVo中保持一致就可以拷贝到了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值