1.配置
<org.mapstruct.version>1.3.0.Final</org.mapstruct.version>
<dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>${org.mapstruct.version}</version> </dependency> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
2.编写代码
DO:
@Data @AllArgsConstructor public class User { private String userName; private Integer age; private String address; private Integer sex; private Date birthday; }
DTO:
@Data public class UserDto { private String name; private Integer age; private String sex; private String addr; private String birthday; }
MAPPER:
@Mapper public interface UserMapper { UserMapper INSTANCE = Mappers.getMapper(UserMapper.class); @Mappings({ @Mapping(source = "userName",target = "name"), @Mapping(source = "address",target = "addr"), @Mapping(source = "birthday",target = "birthday",dateFormat = "yyyy-MM-dd HH:mm:ss") }) UserDto userToUserDto(User user); }
测试:
@Test public void test() { User user = new User("xm",20,"sz",1,new Date()); UserDto userDto = UserMapper.INSTANCE.userToUserDto(user); System.out.println(userDto); }