- MapStruct 教程
- MapStruct - 首页
- MapStruct - 概览
- MapStruct - 环境设置
- 映射
- MapStruct - 基本映射
- MapStruct - 自定义映射
- MapStruct - 多重映射
- MapStruct - 嵌套 Bean 的映射
- MapStruct - 直接字段映射
- MapStruct - 构建器
- 数据类型转换
- MapStruct - 隐式类型转换
- MapStruct - 使用 numberFormat
- MapStruct - 使用 dateFormat
- MapStruct - 使用表达式
- MapStruct - 使用常量
- MapStruct - 使用 defaultValue
- MapStruct - 使用 defaultExpression
- 映射集合
- MapStruct - 映射列表
- MapStruct - 映射映射
- 其他内容
- MapStruct - 映射 Stream
- MapStruct - 映射枚举
- MapStruct - 抛出异常
- MapStruct - 自定义映射器
- MapStruct 有用资源
- MapStruct - 快速指南
- MapStruct - 有用资源
- MapStruct - 讨论
MapStruct - 概览
MapStruct 是一个注释处理器,已插入 Java 编译器。插入后,maven 和 gradle 等命令行工具会使用它处理映射注释,以在编译时创建映射器类。
何时需要映射?
在多层应用程序中,数据对象用于从数据库获取数据,并且 UI 会与模型互动。现在,获取到数据模型中的数据要求映射到模型或 java bean,以传递到 UI。考虑以下情况。
与数据库连接的实体类。
StudentEntity.java
@Entity
class StudentEntity {
String id;
String name;
}
与 UI 连接的模型类。
Student.java
class Student {
String id;
String name;
}
MapStruct 如何工作?
MapStruct 使用注释自动化创建映射器以映射数据对象和模型对象的过程。它在编译时创建映射器实现,这有助于开发人员找出开发过程中的错误,并且便于理解。例如 -
StudentMapper.java
@Mapper
class StudentMapper {
StudentMapper INSTANCE = Mappers.getMapper( StudentMapper.class );
StudentEntity modelToEntity(Student student);
}
现在 StudentMapper.INSTANCE 可以轻松地用来获取映射的对象。
StudentEntity studentEntity = StudentMapper.INSTANCE.modelToEntity(student);
广告