MapStruct处理Java实体的高级进阶使用
来源:互联网 发布:php完全自学手册出版地 编辑:程序博客网 时间:2024/06/07 02:42
摘要: MapStruct有很多的配置选项,除了使用target和source外,还有一些注解选项可以实现更高级的功能。
defaultValue
有时候,在转换过程中,可能因为空值或其他原因使得映射结果不正确,此时可以指定一个默认值,防止程序出错。
@Mappings( {
@Mapping(target = "age", source = "evage", defaultValue = "20")
})
expressions
可以通过表达式来构造一些简单的转化关系。虽然设计的时候想兼容很多语言,不过目前只能写Java代码。
@Mapperpublic interface SourceTargetMapper { SourceTargetMapper INSTANCE = Mappers.getMapper( SourceTargetMapper.class ); @Mapping(target = "timeAndFormat", expression = "java( new org.sample.TimeAndFormat( s.getTime(), s.getFormat() ) )") Target sourceToTarget(Source s);}
这里用到演示了如何使用TimeAndFormat对time
和format
操作,这里必须要指定需要使用的Java类的完整包名,不然编译的时候不知道你使用哪个Java类,会报错。
处理空值
MapStrut提供了方法去修改空值的情形。默认情况下,返回的是null
.
- 基本数据类型: boolean 返回false, int 返回0
- 数组/集合:空的数组或集合返回
阅读全文
0 0
- MapStruct处理Java实体的高级进阶使用
- 使用MapStruct处理javabean之间的转换
- MapStruct处理Java中枚举Enum类型使用与举例
- MapStruct处理Java中实体与模型间不匹配属性转换
- 使用Mapstruct来进行实体与模型之间的映射操作
- Mapstruct的简单配置使用
- MapStruct实体间转换
- MapStruct使用
- 使用Mapstruct来进行domain实体与Entity模型之间的映射操作,减少类之间代码转化
- 【Java编程高级进阶】如何使用自定义类型的异常?
- 使用Mapstruct来进行PO与VO之间的映射
- MapStruct实体间转换快速入门
- 高级java进阶之类的卸载
- Ansible 使用高级进阶
- Hibernate高级实体关联映射之多值的实体关联(一对多关联,使用bag)
- Hibernate高级实体关联映射之多值的实体关联(一对多关联,使用list)
- Hibernate高级实体关联映射之多值的实体关联(一对多关联,使用set)
- Hibernate高级实体关联映射之多值的实体关联(一对多关联,使用map)
- hello world
- 性能调优经验积累
- yii2中行为的方法是如何注入到组件类中去的?
- jq select下拉菜单改变时把自身值放到其它元素属性中
- 读书笔记_unity4.x第十二章_3D数学基础
- MapStruct处理Java实体的高级进阶使用
- Hrbust 2065 萌萌哒十五酱的苹果~【树链剖分+线段树】
- 基于CAS的单点登录SSO[2]: 改造cas-overlays-template支持MySQL数据库
- 读书笔记_unity4.x第十二章_渲染管线
- java项目发送邮件,附带一些异常
- hadoop分布集群搭建
- ServletContextListener接口
- python中double转化成float32
- RabbitMQ的几种典型使用场景