当前位置: 首页 > news >正文

南京市建设局网站栖霞免费下载app软件下载安装到手机

南京市建设局网站栖霞,免费下载app软件下载安装到手机,网站开发前端框架,什么是自助网站mapstruct- 让VO#xff0c;DTO#xff0c;ENTITY转换更加便捷 1. 简介 MapStruct是一个代码生成器#xff0c;简化了不同的Java Bean之间映射的处理#xff0c;所谓映射指的就是从一个实体变化成一个实体。例如我们在实际开发中#xff0c;DAO层的实体和一些数据传输对…mapstruct- 让VODTOENTITY转换更加便捷 1. 简介 MapStruct是一个代码生成器简化了不同的Java Bean之间映射的处理所谓映射指的就是从一个实体变化成一个实体。例如我们在实际开发中DAO层的实体和一些数据传输对象(DTO)大部分属性都是相同的只有少部分的不同通过mapStruct可以让不同实体之间的转换变的简单。我们只需要按照约定的方式进行配置即可。 2. 使用背景 项目中有很多的VO和实体在进行各层之间数据传输的时候就需要不断进行转换之前手敲的getset非常的枯燥乏味且低效刚好遇到了这个工具。 使用mapstruct仅需要我们写一个interface接口使用Mapper标注并且提供一个静态的实例之后编写转换的方法方法的参数是转换的原类型方法的返回值是转换的目标类型。 3. 开发环境 mavenjdk1.8idea 4. pom propertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetmapstruct.version1.4.2.Final/mapstruct.version /properties dependenciesdependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversionRELEASE/versionscopecompile/scope/dependencydependencygroupIdorg.mapstruct/groupIdartifactIdmapstruct/artifactIdversion${mapstruct.version}/version/dependencydependencygroupIdorg.mapstruct/groupIdartifactIdmapstruct-processor/artifactIdversion${mapstruct.version}/version/dependency /dependencies注意 **pom文件中依赖的引入顺序为先引入lombok再引入mapstruct的依赖。**否则在mapstruct映射的时候转换的对象没有getset方法将会遇到很多问题 比如 Error:(15, 13) java: No property named “id“ exists in source parameter(s). Did you mean “null“? 比如生成的转换接口实现类中没有对应的getset无法转换 5. entity和VO 相互转换的类 package com.drc.mapstruct.vo;import lombok.Data;import java.util.Date; Data public class OrderVO {private String orderId;private String product;private String money;private Date date; }package com.drc.mapstruct.entity;import lombok.Data;import java.util.Date;Data public class OrderEntity {private Integer id;private String orderId;private String product;private String money;private Date date;private String userId; }6. OrderConverter 需要定义的转换接口 package com.drc.mapstruct.converter;import com.drc.mapstruct.entity.OrderEntity; import com.drc.mapstruct.vo.OrderVO; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers;Mapper public interface OrderConverter {OrderConverter INSTANCE Mappers.getMapper(OrderConverter.class);// 将实体类转换成VOOrderVO orderEntityToVO(OrderEntity orderEntity);// 将VO转换成实体类OrderEntity orderVOToEntity(OrderVO orderVO); } 7. mvn compile 编译之后即可生成OrderConvert实现类实现类在target目录中实现类的具体代码可以在里面看到 我在网上查了下有说需要手工编译进入到pom所在的目录cmd中执行mvn compileidea不行 我这边两个都试了都OK的 8. 实现类 package com.drc.mapstruct.converter;import com.drc.mapstruct.entity.OrderEntity; import com.drc.mapstruct.vo.OrderVO; import javax.annotation.Generated;Generated(value org.mapstruct.ap.MappingProcessor,date 2023-02-15T17:10:280800,comments version: 1.4.2.Final, compiler: javac, environment: Java 1.8.0_301 (Oracle Corporation) ) public class OrderConverterImpl implements OrderConverter {Overridepublic OrderVO orderEntityToVO(OrderEntity orderEntity) {if ( orderEntity null ) {return null;}OrderVO orderVO new OrderVO();orderVO.setOrderId( orderEntity.getOrderId() );orderVO.setProduct( orderEntity.getProduct() );orderVO.setMoney( orderEntity.getMoney() );orderVO.setDate( orderEntity.getDate() );return orderVO;}Overridepublic OrderEntity orderVOToEntity(OrderVO orderVO) {if ( orderVO null ) {return null;}OrderEntity orderEntity new OrderEntity();orderEntity.setOrderId( orderVO.getOrderId() );orderEntity.setProduct( orderVO.getProduct() );orderEntity.setMoney( orderVO.getMoney() );orderEntity.setDate( orderVO.getDate() );return orderEntity;} }9. 使用 使用也很简单直接使用接口中定义的常量就能获得转换器对象之后调用方法就可以进行转换 简单示例 OrderConverter orderConverter OrderConverter.INSTANCE; OrderEntity orderEntity new OrderEntity(); orderEntity.setId(1); orderEntity.setOrderId(10001); orderEntity.setDate(Date.from(Instant.now())); orderEntity.setMoney(1000元); orderEntity.setProduct(自行车); orderEntity.setUserId(9999); OrderVO orderVO orderConverter.orderEntityToVO(orderEntity); System.out.println(orderVO);
http://www.tj-hxxt.cn/news/229473.html

相关文章:

  • 局域网怎么建立网站内部优化工具
  • 计算机网站建设教程php源码网站安装
  • 医院网站建设熊掌号wordpress如何设置cdn
  • 京东网站制作优点不同接入商备案网站
  • 介绍自己做衣服的网站做百度收录比较好的网站
  • 网站建设丶金手指花总12怎么0元开网店
  • 做化妆刷的外贸网站百度云虚拟主机如何建设网站
  • 通辽北京网站建设工作感悟的句子
  • 公司怎么做网站平台免费申请httq网站?
  • 一流的网站建设案例网站技术制作流程图
  • 简单网站建设哪家便宜济南做网站企业
  • 查找北京建设投标项目网站建筑公司企业所得税
  • wdcp创建多个网站网上打工赚钱的项目
  • 网站建设的未来鹿班设计官网
  • 北京中心网站建设企业邮箱注册哪家好
  • 关于企业网站建设的相关思考网站广告条动画 怎么做
  • 网站设计主要包含3个方面沧州网络推广外包公司
  • 番禺网站(建设信科网络)手机ppt制作
  • 佛山住房和城乡建设厅网站大连旧房翻新装修哪家公司好
  • 广州seo网站开发徐州在线网
  • 建游戏网站网站开发所要达到的目标
  • 德令哈网站建设公司阿里云轻量服务器wordpress
  • 手机端网站建设郑州h5自己制作模板
  • asp.net网站开发书籍营销型建设
  • 网站服务器解决方案如何做网站站内搜索
  • 电子技术支持 东莞网站建设网站开发合同管辖权异议
  • 12306网站开发语言原创 网站 源码
  • 手机建造网站做网站的厉害还是黑网站的厉害
  • 石家庄的网站公司wordpress社群模板
  • 网站建设需要包含什么网站如何验收