导入转换方法class

//源对象
@Data
public class EntityJ implements Serializable{
    private Date valJ;
}
//目标对象
@Data
public class EntityK implements Serializable{
    private String valK;
}
//Date转String的特殊处理
@Mapper
public class DateMapper {

    public String asString(Date date) {
        return date != null ? new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH)
                .format(date) : null;
    }

    public Date asDate(String date) {
        try {
            return date != null ? new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.ENGLISH)
                    .parse(date) : null;
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
    }
}
//转换方法
@Mapper(uses = DateMapper.class)
public interface SpecConvertMapper {

    SpecConvertMapper INSTANCE = Mappers.getMapper(SpecConvertMapper.class);

    @Mappings({
            @Mapping(target = "valK", source = "valJ"),
    })
    EntityK entityJtoK(EntityJ entityJ);
}
//调用方法
@SpringBootApplication
public class DemoApplication {
  public static void main(String[] args) throws ParseException {
      EntityJ entityJ= new EntityJ();
      EntityK entityK= new EntityK();
      entityJ.setValJ(new Date());
      entityK = SpecConvertMapper.INSTANCE.entityJtoK(entityJ);
      System.out.println(entityK.toString());
      SpringApplication.run(DemoApplication.class, args);
  }

//结果


image.png

使用场景
目标对象需要对源对象的字段的转型做特殊处理,如所有的日期格式,数字金额格式调整

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,185评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,778评论 18 399
  • 我曾走过春夏秋冬 我曾无畏严寒酷暑 我曾大胆翻越心中千山 我曾痴等所谓伊人 世间万物何曾回馈 英雄迷梦凡尘再无 ...
    南方酒坛阅读 168评论 0 0
  • 多少不舍舍不得,千万情留留不住。 满腔思绪道不尽,总有明白透人心。
    花间小酌阅读 115评论 0 2