MapConvert 转换器(


/**
 * mapstruct:对象转换器,入门参考网址:https://blog.csdn.net/zhige_me/article/details/80699784
 * 使用mapstruct的步骤 1引入依赖 2 新疆一个抽象类或者接口并标注@Mapper 3写转换逻辑 方法名字是任意的没有要求 默认映射规则 对同类型且同名的属性会自动映射到实体类命名策略,使用下划线转驼峰命名
 * 自动类型转换 mapstruct 八种基本类型 和他们对应的包装类型 之间会自动转换 这个不需要担心 String 之间会自动转换 日期和string之间会自动转换
 * 指定具体的映射规则 @mappings(
 * value = {@Mapping(source = "字段名",target="字段名" "映射规则" {numberFormat="#.00"}
 *          @Mapping(source = "字段名","字段名" "映射规则" {dateFormat="yyyy-MM-dd HH:mm:ss"})  NAVP-2GRN-YCVZ-THYQ
 *          忽略某一个属性  target ="字段名" ignore=true)
 *          实体类映射 下面定义一个实体类的映射规则 直接 source target 会直接去调用下面的方法
 *          自定义映射
 *          @AfterMapping  在调用自动完成会会调用下面的方法
 *          public void dto2voAfter(CarDTO carDTO,@MappingTarget CarVO carVO){
 *              表示传来的carvo 对象 是已经赋值过的 所以afetermapping 和mappingTarget   在映射的最后一步对属性自定义处理
 *              比如说判断 然后赋值即可
 *          }
 *          批量映射
 *          不是单一类 是list
 *          集合批量转换   传进来要list参数
 *
 *          更新 updateVehicleVO(CarDTO carDTO,@MappingTarget VehicleVO vehicleVO);
 *          继承配置 @InheritConfiguration  需要将传入的参数 参数写全不然的话就会导致为空  还可以通过设置默认映射 不映射 然后设置映射的内容
 *             方向继承不需要再写一遍   or  @InheritInverseConfiguration(name ="继承的方法") 只会继承mapping注解 不会继承beanMapping注解
 *
 *             与spring无缝结合使用
 * @Autowired or @Resource   没有这个对象 所以需要 将这个convert 交给我们的spring容器管理  所以就需要 在当前这个@Mapper注解中写上
 * @mapper(componentModel= "spring")
 * )}
 * beanmapping 来配置默认规则是否生效一般用于控制 映射是否生效 比如 作用在一个方法上 比如 执行忽略@BeanMapping(ignoreByDefault =true)
 * @author Dyb
 * @since 2021-08-11 14:22
 */
@Mapper(componentModel = "spring")
public interface NewsConvert {
    
    /**
     * Convert paged pos to vos.
     * pos to vos
     * @param newsPage news
     * @return paged Rt list
     */
    Page<NewsListRt> po2Rt(Page<NewsPO> newsPage);
    
    /**
     * Pos to rt list.
     *
     * @param news news
     * @return rt list
     */
    List<NewsListRt> poListToRt(List<NewsPO> news);
    
    /**
     * Convert po to rt.
     *
     * @param news news from database
     * @return news detail
     */
    NewsDetailRt po2Detail(NewsPO news);
    
    /**
     * Build po with param.
     *
     * @param param param
     * @return news
     */
    NewsPO create2po(NewsCreateParam param);
    
    TNewsPO create2Tpo(NewsCreateParam param);
    
    NewsPO update2Po(NewsUpdateParam param);
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值