使用mapstruct代替resultmap在service层上实现数据对象的转换

300 阅读1分钟

在一个成熟的工程中应用与应用之间有单独的应用细分模块之后DO对象一般不会让外部依赖,这时候要在提供对外接口的模型里放DTO用于对象传输,也即是DO对象对内,DTO对象对外,DTO可以根据业务的需要变更,并不需要映射DO的全部属性;

DAO层:
    Do对象相当于对数据库原始数据的封装	
Service层:
    业务逻辑-->DTO(包含需要的数据)
Controller层:
    返回视图层的数据;--->cookie和VO对象
Do对象转换成DTO对象:
    导入mapstruct依赖:mapstruct-djk8;mapstruct-processor;
    定义转化器:@Mapper(componentmodel=“spring”)
    定义一个userconverter接口
        (编译的时候会自动写一个实现类并将它注册成组件)
    使用:UserDto **** = userconverter.UserDOToUserDto(user)