mapstruct结合stream流轻松完成大数据属性转换和赋值

mapstruct结合stream流轻松完成大数据属性转换和赋值

文章目录


 前言

事情由来:

今天测试在禅道上给我提了一个bug,原因是导出excel数据居然需要恐怖的15s甚至更多,到底是什么原因呢?我首先是做了以下几步排查:

1、首先是换个电脑检查下,看是否是测试电脑的问题啊 哈哈😄

2、发下没有,这就开始检查之前的大哥如何写的代码呗

这里图片就不上了 直接说下其中的冗余和不合理,主要有以下几点:

1、双层for循环和单个for循环,然后其中还有嵌套dubbo远程调用

2、使用字符串拼接,效率很低,占用内存空间

一、mapstruct是什么?

MapSturct 是一个生成类型安全,高性能且无依赖的 JavaBean 映射代码的注解处理器(annotation processor)。

  • 注解处理器
  • 可以生成 JavaBean 之间那的映射代码
  • 类型安全,高性能,无依赖性

二、使用步骤

1.项目实战使用

代码如下(示例):

 代码如下:

这里我使用的是syringBuild拼接字符串,就告诉你一点这个它的效率最高,相信很多人说:你说什么就什么啊,所以直接上菜

 将指定的字符串追加到此字符序列。 String参数的字符会被追加,顺序是将该序列的长度与参数的长度相加。如果str为空,则追加四个字符"null"。 设n是这个字符序列在执行append方法之前的长度。如果k小于n,则新字符序列中索引k处的字符等于旧字符序列中索引k处的字符;否则,它等于参数str中下标k-n处的字符。 参数: STR -一个字符串。 返回: 对该对象的引用
    public AbstractStringBuilder append(String str) {
        if (str == null)
            return appendNull();
        int len = str.length();
        ensureCapacityInternal(count + len);
        str.getChars(0, len, value, count);
        count += len;
        return this;
    }

 上图的几个步骤,直接把省市区地址的属性直接编译器拼在到了一个属性上

2.stream流读入数据

代码如下(示例):

 这里对应匹配填充


总结


例如:以上就是今天要讲的内容,本文仅仅简单介绍了mapstruct和stream的使用,而他们提供了大量能使我们快速便捷地处理数据的函数和方法,期待后期大家分享。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值