1.引入依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>xxxx</version>
</dependency>
2、使用
将survey中的属性赋值到surveyListVO中(二者都有的属性才会赋值过来),且如果survey中相同属性但是属性的值为null则不会赋值过来。
List<OkbICFaSurvey> list = okbICFaSurveyMapper.list();
return list.stream().map(survey -> {
OkbICFaSurveyListVO surveyListVO = new OkbICFaSurveyListVO();
BeanUtil.copyProperties(survey, surveyListVO, copyOption);
return surveyListVO;
}).collect(Collectors.toList());
可使用stream做处理,将
List<OkbICFaSurvey> 转换为 List<OkbICFaSurveyListVO>。
其中copyOption就是定义规则,创建一个CopyOptions对象。
//null,表示无限制,true表示若父类中属性值为空则忽略,不传给子类
private final CopyOptions copyOption = CopyOptions.create(null, true);
editable 限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类。
ignoreNullValue 是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null
ignoreProperties 忽略的属性列表,设置一个属性列表,不拷贝这些属性值
ignoreError 是否忽略字段注入错误
可以通过CopyOptions.create()方法创建一个默认的配置项,通过setXXX方法设置每个配置项