1.先创建基础转换类:
import cn.hutool.core.bean.BeanUtil;
public class BaseDto <EntityT> {
public void toEntity(EntityT entity) {
BeanUtil.copyProperties(this, entity);
}
public void fromEntity(EntityT entity) {
BeanUtil.copyProperties(entity, this);
}
}
2.创建基础父类:
import lombok.Data;
@Data
public class BaseTest {
private Integer id;
private String mobile;
private String nickname;
private Integer sex;
}
3.创建你需要使用的子类:
import com.cdzwxc.paper.portal.dto.common.BaseDto;
import lombok.Data;
@Data
public class MyClassTest extends BaseDto<BaseTest> {
private Integer id;
private String mobile;
private String nickname;
private Integer age;
}
4.使用说明
//子类赋值到父类--注:如果字段名称不对应或缺少的,则不赋值为空
MyClassTest myClass = new MyClassTest();
myClass.setId(100);
myClass.setMobile("123456789");
myClass.setNickname("test001");
myClass.setAge(12);
//赋值到父类--其中父类中的 sex 性别字段在子类中没有,则父类的 sex=null
BaseTest baseTest=new BaseTest();
myClass.toEntity(baseTest);
//----------------------------------------------------------------//
//父类赋值到子类--注:如果字段名称不对应或缺少的,则不赋值为空
BaseTest baseTest=new BaseTest();
baseTest.setId(101);
baseTest.setMobile("987654321");
baseTest.setNickname("test002");
baseTest.setSex(2);
//父类赋值到子类--其中子类中的 age 年龄字段在父类中没有,则子类的 age=null
MyClassTest myClass = new MyClassTest();
myClass.fromEntity(baseTest);