公众号:科技学习之道
<!--mapStruct依赖 高性能对象映射-->
<!--mapstruct核心-->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.5.0.Beta1</version>
</dependency>
<!--mapstruct编译-->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.5.0.Beta1</version>
</dependency>
package com.alex.examples.entity;
import lombok.Data;
/**
* Car
*
* @author Felordcn
* @since 13:35 2019/10/12
**/
@Data
public class Car {
private String make;
private int numberOfSeats;
private String type;
private String name;
}
package com.alex.examples.dto;
import lombok.Data;
/**
* CarDTO
*
* @author Felordcn
* @since 13:37 2019/10/12
**/
@Data
public class CarDTO {
private String make;
private int seatCount;
private String type;
private String name;
}
package com.alex.examples.mapper;
import com.alex.examples.dto.BannerDTO;
import com.alex.examples.dto.CarDTO;
import com.alex.examples.entity.Banner;
import com.alex.examples.entity.Car;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
/**
* CarMapping
*
* @author Felordcn
* @since 14 :02 2019/10/12
*/
@Mapper
public interface CarMapping {
/**
* 用来调用实例 实际开发中可使用注入Spring 不写
*/
CarMapping CAR_MAPPING = Mappers.getMapper(CarMapping.class);
/**
* 源类型 目标类型 成员变量相同类型 相同变量名 不用写{@link org.mapstruct.Mapping}来映射
*
* @param car the car
* @return the car dto
*/
@Mapping(target = "seatCount", source = "numberOfSeats") //将numberOfSeats赋值给seatCount
@Mapping(ignore = true, target = "type") //忽略此字段
@Mapping(ignore = true, target = "name") //忽略此字段
CarDTO carToCarDTO(Car car);
BannerDTO bannerToBannerDTO(Banner car);
}
package com.alex.examples;
import com.alex.examples.dto.BannerDTO;
import com.alex.examples.dto.CarDTO;
import com.alex.examples.entity.Banner;
import com.alex.examples.entity.Car;
import com.alex.examples.mapper.CarMapping;
public class MapstructTest {
public static void main(String[] args) {
Car car = new Car();
car.setMake("1");
car.setNumberOfSeats(12);
car.setType("2s");
car.setName("我爱中国");
CarDTO dto1 = CarMapping.CAR_MAPPING.carToCarDTO(car);
System.out.println(dto1);
}
}
公众号:科技学习之道