类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);}
}
具体细节说明,如下图:
运行结果如下图: