类Copy方法:BeanUtils.copyProperties
需求场景
比如有时候我们想要把数据库里面的数据导出到excel表中,比如想要把数据库中的用户数据导出到excel表格中;
假设我们程序代码中与数据库对接的实体类是User,用于展示到前端的实体类是UserVO,那么用于导出到excel表中的类就应该是UserDTO实体类。
因此我们导出excel的时候,肯定会牵涉到把User类转换成UserDTO实体类的操作;
具体代码
首先看下User代码 如下图:
接着来看下UserDTO代码,如下图:
最后来看下具体使用BeanUtils.copyProperties方法把User复制到UserDTO中的代码,如下图:
具体代码如下:
@Data
@AllArgsConstructor
public class User {
private Long id;
private String name;
private Integer age;
}
@Data
public class UserDTO {
private Long id;
private String name;
private Integer age;
}
public class ConvertClass {
public static void main(String[] args) {
User user1 = new User(1L, "张三", 25);
User user2 = new User(2L, "李四", 18);
User user3 = new User(3L, "王五", 20);
List<User> userList = Lists.newArrayList(user1, user2, user3);
List<UserDTO> userDTOList = Lists.newArrayList();
for (User user : userList) {
UserDTO userDTO = new UserDTO();
BeanUtils.copyProperties(user, userDTO);
userDTOList.add(userDTO);
}
System.out.println("UserDTO: " + userDTOList);
}
}
具体细节说明,如下图:
运行结果如下图: