链式编程封装javaBean数据

举报
brucexiaogui 发表于 2021/11/25 23:13:34 2021/11/25
【摘要】 链式编程封装javaBean数据 1. 前言 在封装数据过程中,每添加一次数据都需要对象.set方法,代码写起来重复且不够美观。使用链式编程封装javaBean数据,可以实现循环添加数据。 ...

链式编程封装javaBean数据

1. 前言

在封装数据过程中,每添加一次数据都需要对象.set方法,代码写起来重复且不够美观。使用链式编程封装javaBean数据,可以实现循环添加数据。

2. 链式编程封装数据Demo

2.1.创建一个javaBean

package com.bruce.hulk.dao.testbean;

import lombok.*;

/**
 * @author bruce
 * 
 */
@Setter
@Getter
@ToString
@Builder
@EqualsAndHashCode
public class ColumnDTO {
    private String columnName;
    private String columnValue;
    private ColumnType columnType;

}

  
 

2.2. 链式编程封装javaBean

  • 实现核心思想
    • 1.构造器中创建一个hashSet,初始化类的同时创建HashSet对象。
    • 2.addColumn方法链式编程实现思想:最后必须返回当前类对象。
    • 3.封装的数据放到HashSet集合优势:自动去除添加的重复数据,确定添加数据的唯一性。
    • 4.提供一个获取封装数据的方法,同时将HashSet转为List集合。方便从集合中取数据。
package com.bruce.hulk.dao.testbean;

import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import java.util.List;
import java.util.Set;

/**
 * @author bruce
 * 
 */
public class ColunmDTOHolder {
    Set<ColumnDTO> colunmSet;
    private ColunmDTOHolder(){
        //1.构造器中创建一个hashSet
        colunmSet = Sets.newHashSet();
    }
    public static ColunmDTOHolder of (){
        return new ColunmDTOHolder();
    }
    /**
     * 2.
     * @MethedName: addColumn链式编程实现思想:最后必须返回当前类对象。
     * @Description: 封装ColumnDTO数据,并添加到HashSet集合中。能够自动
     * 去除添加的重复数据,确定添加数据的唯一性。
     */
    public ColunmDTOHolder addColumn(String columnName,String columnValue) {
        this.colunmSet.add(ColumnDTO.builder()
                .columnName(columnName)
                .columnValue(columnValue)
                .columnType(ColumnType.WHERE)
                .build());
        return this;
    }

    //3. 提供一个获取封装数据的方法,同时将HashSet转为List集合。方便从
    //集合中取数据。
    public List<ColumnDTO> getColumnDTO() {
         return Lists.newArrayList(colunmSet);
    }
}

  
 

2.3.链式编程使用

  • 使用链式编程封装提供的方法添加数据非常的方便好用,代码结构美观性得到了优化。
package com.bruce.hulk.dao.testbean;

/**
 * @author bruce
 */
public class AppTest {
    public static void main(String[] args) {

// -----------没有使用链式编程,添加数据方式--------------
        ColumnDTO columnDTO = new ColumnDTO();
        columnDTO.setColumnName("username");
        columnDTO.setColumnValue("zhansan");
        columnDTO.setColumnName("passwd");
        columnDTO.setColumnValue("123456");
        columnDTO.setColumnName("address");
        columnDTO.setColumnValue("大连抚顺");
// -----------使用链式编程,添加数据方式--------------

        ColunmDTOHolder column = ColunmDTOHolder.of()
                //通过链式编程实现了循环添加数据
                .addColumn("username", "zhangsan")
                .addColumn("username", "zhangsan")
                .addColumn("passwd", "1258963")
                .addColumn("address", "大连抚顺");
    }
}
  
 

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/105663110

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。