Mapstruct 简明教程
MapStruct - Overview
MapStruct 是一个插入 Java 编译器的注释处理器。一旦插入,就可以通过 maven、gradle 等命令行工具使用它来处理映射注释,并在编译时创建映射器类。
When Mapping is required?
在多层应用程序中,数据对象用于从数据库提取数据,而 UI 与模型交互。现在,需要将提取到数据模型中的数据映射到要传递给 UI 的模型或 Java bean 中。考虑以下情况。
与数据库相连的实体类。
StudentEntity.java
@Entity
class StudentEntity {
String id;
String name;
}
与 UI 相连的模型类。
Student.java
class Student {
String id;
String name;
}
How MapStruct Works?
MapStruct 自动化使用注释将数据对象与模型对象进行映射的映射器创建过程。它在编译时创建映射器实现,这有助于开发人员在开发期间找出错误并便于理解。比如 −
StudentMapper.java
@Mapper
class StudentMapper {
StudentMapper INSTANCE = Mappers.getMapper( StudentMapper.class );
StudentEntity modelToEntity(Student student);
}
现在,可以使用 StudentMapper.INSTANCE 轻松获取映射对象。
StudentEntity studentEntity = StudentMapper.INSTANCE.modelToEntity(student);