温馨提示×

java两个实体类怎么相互转换

小亿
526
2024-01-03 21:29:21
栏目: 编程语言

在Java中,可以使用以下方法来实现两个实体类之间的相互转换:

  1. 手动转换:创建一个新的实体类对象,然后使用源实体类对象的属性值来设置新实体类对象的属性值。
public class EntityA {
    private int id;
    private String name;
    
    // getters and setters
}

public class EntityB {
    private int id;
    private String name;
    
    // getters and setters
}

// 将EntityA转换为EntityB
public EntityB convertToEntityB(EntityA entityA) {
    EntityB entityB = new EntityB();
    entityB.setId(entityA.getId());
    entityB.setName(entityA.getName());
    return entityB;
}

// 将EntityB转换为EntityA
public EntityA convertToEntityA(EntityB entityB) {
    EntityA entityA = new EntityA();
    entityA.setId(entityB.getId());
    entityA.setName(entityB.getName());
    return entityA;
}
  1. 使用第三方库:例如,可以使用ModelMapper库来自动转换两个实体类之间的属性值。
// 添加ModelMapper依赖库
<dependency>
    <groupId>org.modelmapper</groupId>
    <artifactId>modelmapper</artifactId>
    <version>2.3.8</version>
</dependency>

// 使用ModelMapper进行转换
import org.modelmapper.ModelMapper;

public class EntityA {
    private int id;
    private String name;
    
    // getters and setters
}

public class EntityB {
    private int id;
    private String name;
    
    // getters and setters
}

// 将EntityA转换为EntityB
public EntityB convertToEntityB(EntityA entityA) {
    ModelMapper modelMapper = new ModelMapper();
    EntityB entityB = modelMapper.map(entityA, EntityB.class);
    return entityB;
}

// 将EntityB转换为EntityA
public EntityA convertToEntityA(EntityB entityB) {
    ModelMapper modelMapper = new ModelMapper();
    EntityA entityA = modelMapper.map(entityB, EntityA.class);
    return entityA;
}

上述两种方法可以根据具体的需求选择其中一种来实现实体类之间的相互转换。

0