不同java类,相同属性赋值,不逐一set,偷懒必备

场景

我们通常在插入一张表的时候会关联另外一张表,所以会同事插入两张表,对应的是不同的两个实体类,不同的service,一个一个set过于麻烦,他们存在一定相同的属性,利用

BeanUtils.copyProperties(gyggZd, gyzd);

第一个是你得到值的对象,第二个是你要赋过去的对象

他们对象的属性如下

得到的值gyggZd对象

public class GyggZd {
    /**
     * 公告宗地GUID
     **/
    private String gyggZdGuid;
    /**
     * '供应公告GUID'
     **/
    private String gyggGuid;
    /**
     * '宗地GUID'
     **/
    private String zdGuid;
    /**
     * '宗地编号'
     **/
    private String zdBh;
    /**
     * '面积'
     **/
    private BigDecimal mj;
}

赋值的gyzd对象

public class TdGyzd {

    /**
     * 宗地主键
     */
    private String zdGuid;

    /**
     * 行政区划
     */
    private String xzqDm;

    /**
     * 乡镇名称
     */
    private String xzMc;

    /**
     * 宗地编号
     */
    private String zdBh;

    /**
     * 面积
     */
    private BigDecimal mj;
}

他们存在一部分相同一部分不相同,利用 BeanUtils.copyProperties 可以将相同的属性,并且不为null的属性值copy过去。

具体代码实现

......
 if (StringUtils.isEmpty(gyggZd.getGyggGuid())) {
                    /*新增宗地*/
                    gyggZd.setGyggGuid(UUID.randomUUID().toString());

                    /*添加外键表内容*/
                    TdGyzd gyzd = new TdGyzd();
                    BeanUtils.copyProperties(gyggZd, gyzd);
                    tdGyzdService.saveGyzd(gyzd);

                    j = gyggZdDao.insert(gyggZd);
                } 
......

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值