- 地图结构教程
- 地图结构 - 主页
- MapStruct - 概述
- MapStruct - 环境设置
- 测绘
- MapStruct - 基本映射
- MapStruct - 自定义映射
- MapStruct - 映射多个
- MapStruct - 映射嵌套 Bean
- MapStruct - 映射直接字段
- MapStruct - 生成器
- 数据类型转换
- MapStruct - 隐式类型转换
- MapStruct - 使用 numberFormat
- MapStruct - 使用日期格式
- MapStruct - 使用表达式
- MapStruct - 使用常量
- MapStruct - 使用defaultValue
- MapStruct - 使用defaultExpression
- 映射集合
- MapStruct - 映射列表
- MapStruct - 映射地图
- 各种各样的
- MapStruct - 映射流
- MapStruct - 映射枚举
- MapStruct - 抛出异常
- MapStruct - 自定义映射器
- MapStruct 有用资源
- MapStruct - 快速指南
- MapStruct - 有用的资源
- MapStruct - 讨论
MapStruct - 概述
MapStruct 是一个插入 Java 编译器的注释处理器。一旦插入,它就可以被maven、gradle等命令行工具用来处理映射注释,以在编译时创建映射器类。
什么时候需要映射?
在多层应用程序中,数据对象用于从数据库中获取数据,UI 与模型进行交互。现在,需要将提取到数据模型中的数据映射到模型或 java beans 以传递到 UI。请考虑以下情况。
与数据库连接的实体类。
学生实体.java
@Entity class StudentEntity { String id; String name; }
与 UI 连接的模型类。
学生.java
class Student { String id; String name; }
MapStruct 是如何工作的?
MapStruct 自动执行创建映射器的过程,以使用注释将数据对象与模型对象进行映射。它在编译时创建一个映射器实现,帮助开发人员找出开发过程中的错误,并且 make 很容易理解。例如 -
StudentMapper.java
@Mapper class StudentMapper { StudentMapper INSTANCE = Mappers.getMapper( StudentMapper.class ); StudentEntity modelToEntity(Student student); }
现在StudentMapper.INSTANCE可以用来轻松获取映射对象。
StudentEntity studentEntity = StudentMapper.INSTANCE.modelToEntity(student);