【02】对象的属性拷贝【BeanUtils.copyProperties(原对象,新对象)】

本文介绍了当前端提交的数据与Java实体类属性不匹配时,如何使用DTO进行数据封装并利用Spring的BeanUtils进行属性拷贝,以简化操作。作者提供了在Spring框架下处理新增员工的代码示例。
摘要由CSDN通过智能技术生成

当前端提交的数据和实体类中对应的属性差别比较大时,建议使用DTO来封装数据。

VO是为前端展示的数据。

操作步骤:

  1. 自定义DTO类和实体类
  2. 方法传参为前端封装的DTO数据,方法内新建实体类对象,通过属性拷贝为实体类对象的属性赋值

代码提示:

使用Spring提供的工具类BeanUtils,调用copyProperties()方法为实体类对象进行属性的赋值

   /**
     * 新增员工
     *
     * @param employeeDTO
     */
    public void save(EmployeeDTO employeeDTO) {
      
        Employee employee = new Employee();

        //将DTO中的属性copy到emp中
        BeanUtils.copyProperties(employeeDTO, employee);
        //设置状态status
        employee.setStatus(StatusConstant.ENABLE);
        //设置密码,默认123456。!!需要加密!!
     employee.setPassword(DigestUtils.md5DigestAsHex(PasswordConstant.DEFAULT_PASSWORD.getBytes()));
        //设置创建时间和修改时间
       employee.setCreateTime(LocalDateTime.now());
       employee.setUpdateTime(LocalDateTime.now());
       //设置创建人id和修改人id        
    //从当前线程的存储空间中取出存入的id                    
       employee.setCreateUser(BaseContext.getCurrentId());
       employee.setUpdateUser(BaseContext.getCurrentId());

        //调用mapper层,插入数据
        employeeMapper.insert(employee);


    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值