java 使用 mapstruct 转换实体的例子帮我写一个
时间: 2024-09-26 09:18:49 浏览: 33
MapStruct实体转换及List转换的方法讲解
MapStruct是一个流行的Java库,用于简化模型之间的数据绑定,它可以帮助我们自动地将一个对象转换成另一个对象,特别是当涉及到复杂的映射规则时。下面是一个简单的例子,展示如何使用MapStruct将一个用户实体(UserEntity)转换为一个前端展示对象(UserDto):
首先,假设我们有`UserEntity`和`UserDto`两个类:
```java
// UserEntity.java
public class UserEntity {
private Long id;
private String name;
private String email;
// getters and setters...
}
// UserDto.java
@Mapper
public interface UserMapper {
UserDto toUserDto(UserEntity user);
}
```
然后,在`UserMapper`接口中,MapStruct会自动生成`toUserDto`方法。如果我们只需要简单地将字段映射过去,不需要编写任何额外的代码,MapStruct就会完成转换:
```java
// 默认映射,无特殊注解的情况下
public default UserDto toUserDto(UserEntity user) {
return UserDto.builder()
.id(user.getId())
.name(user.getName())
.email(user.getEmail())
.build();
}
```
如果你需要更复杂的映射,比如忽略某些属性或者使用别名,你可以通过添加`@Mapping`注解来定制转换逻辑。
现在,当你有一个`UserEntity`实例并想将其转换为`UserDto`,只需调用`UserMapper.userMapperInstance().toUserDto(user)`即可。
阅读全文