Java中DO,VO,DTO结构一样,但在意义上或者说功能上不一样,DO定义实体,VO定义视图层数据返回,DTO用于查询实体参数,通常进行转化可以自写setter/getter方法或者使用BeanUtils的属性复制方法(运行期利用反射),具体原理可以查看源码或者百度。MapStruct是同学推荐的一个开源工具,是在编译期生成对应的实体类来完成属性复制,使用方便,这里做个简单的笔记,方便以后使用。
1、添加jar包,maven项目直接添加依赖
<!-- mapStruct版本 -->
<map-struct-version>1.1.0.Final</map-struct-version>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
<version>${map-struct-version}</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${map-struct-version}</version>
</dependency>