hutool工具的使用(User转化为UserDTO)


后端向前端传输的数据不想完全展示时,可以创建DTO类,将userDTO的数据发送给前端

User实体类

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_user")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 手机号码
     */
    private String phone;

    /**
     * 密码,加密存储
     */
    private String password;

    /**
     * 昵称,默认是随机字符
     */
    private String nickName;

    /**
     * 用户头像
     */
    private String icon = "";

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;


}

UserDTO

@Data
public class UserDTO {
    private Long id;
    private String nickName;
    private String icon;
}

这样就只将id,nickName,icon返回给前端展示。

使用hutool工具直接将User转化为UserDTO

UserDTO userDTO = BeanUtil.copyProperties(user, UserDTO.class);

需要引入的依赖

<!--hutool-->
      <dependency>
          <groupId>cn.hutool</groupId>
          <artifactId>hutool-all</artifactId>
          <version>5.7.17</version>
      </dependency>

UserDTO转为Map对象

Map<String, Object> userMap = BeanUtil.beanToMap(userDTO)

将查询到Hash数据转UserDT0对象

UserDTo userDTO =Beanutil.fillBeanwithMap(userMap,new UserDTO(),false);

  目录