首页 > 其他分享 >@Builder 注解的简单使用

@Builder 注解的简单使用

时间:2023-05-17 09:47:26浏览次数:50  
标签:String Builder value ApiModelProperty private 简单 注解 BigDecimal

1、导语(可跳过)

  Java小白一枚,研读公司代码。发现实体类上加了@Builder、@NoArgsConstructor和@AllArgsConstructor。话不多说,上代码

 

2、实体类代码@Data

@EqualsAndHashCode(callSuper = false)
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value="TOrder对象", description="交易订单表")
public class TOrder implements Serializable {

private static final long serialVersionUID = 1L;

@ApiModelProperty(value = "门店ID")
private String commercialId;

@ApiModelProperty(value = "订单ID")
@TableId(value = "order_id", type = IdType.ASSIGN_UUID)
private String orderId;

@ApiModelProperty(value = "订单编号")
private String tradeNo;

 /**
   * 省略部分成员变量(公司代码直接CV)
   */

@ApiModelProperty(value = "订单来源")
private Long source;

@ApiModelProperty(value = "订单来源名称")
private String sourceName;

@ApiModelProperty(value = "商户实收金额")
private BigDecimal receivedAmount;

@ApiModelProperty(value = "用户实付金额")
private BigDecimal custRealPay;

@ApiModelProperty(value = "订单原始金额")
private BigDecimal tradeAmount;

@ApiModelProperty(value = "优惠总金额")
private BigDecimal privilegeAmount;

@TableField(exist = false)
private String commercialName;

/**
* 清分金额
*/
@ApiModelProperty(value = "清分金额")
private BigDecimal divideAmount;

/**
* 清分金额
*/
@ApiModelProperty(value = "清分金额")
@TableField(exist = false)
private String userId;

}
注意:此实体类中并未写任何构造器函数!但是却可以生成一个有参构造器。

3、实际运用
 
TOrder order = TOrder.builder()
            .orderId(s)
    .divideAmount(sum)
    .build();
这就是用了@Builder 注解的快捷方便的地方。

4、补充
  
  
根据查询到的知识,一般@NoArgsConstructor 和 @AllArgsConstructor 注解配合@Builder 注解一起使用

标签:String,Builder,value,ApiModelProperty,private,简单,注解,BigDecimal
From: https://www.cnblogs.com/ydy-blog/p/17407582.html

相关文章

  • @ExceptionHandler注解
    1,基本使用方法Spring的@ExceptionHandler可以用来统一处理方法抛出的异常,比如这样:@ExceptionHandler()publicStringhandleExeption2(Exceptionex){System.out.println("抛异常了:"+ex);ex.printStackTrace();StringresultStr="异常:默认";returnr......
  • 哈希表简单应用—两数之和
    这是一个简单题,本质上直接暴力求解也可以了。但是主要记录下哈希表的应用。给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不......
  • 利用简单的IO操作实现M3U8文件之间的合并
    @SneakyThrows//合并操作,最终文件不包含结束标识,方便多次合并privatestaticvoidmergeM3U8File(Stringsource,Stringtarget){//读取targetList<String>sl=newArrayList<>();try(BufferedReaderreader=newBufferedReader(newF......
  • 利用简单的IO操作实现M3U8文件之间的合并
    先上代码:1@SneakyThrows//合并操作,最终文件不包含结束标识,方便多次合并2privatestaticvoidmergeM3U8File(Stringsource,Stringtarget){34//读取target5List<String>sl=newArrayList<>();6try(Bu......
  • 周二(PTA简单练习)例
    ~#include<iostream>2#include<string>3usingnamespacestd;4intrecostring()5"finti,c,b;6•while(1)7"{cin>>i;8if(i>>100111<0)9icout-<"不符合要求,请重新输入:";•jelseibreak;}}•stringnumb[c......
  • golang vrrp + ipvs 实现简单的服务ha
    比较类似keeplived,但是是比较简单的集成参考图基于vrrp实现vip的处理,同时master以及backup安装基于vrrp+ipvs的程序,基于服务状态进行服务的切换处理 实现说明:对于vrrp处理可以基于包装的vrrpgolang(rongfengliang/vrrp)包,同时对于ipvs可以直接ipvs包(可以使用mqli......
  • 使用NEST简单操作Elasticsearch
    .NetCore中使用NEST简单操作Elasticsearch C#中访问Elasticsearch主要通过两个包NEST和Elasticsearch.Net,NEST用高级语法糖封装了Elasticsearch.Net可以通过类Linq的方式进行操作,而Elasticsearch.Net相比之下更为原始直接非常自由。注意:ES的8.X以上的版本有新的包Elastic.C......
  • containerlab 简单试用
    以下是containerlab简单试用的测试预备需要docker环境安装基于vm运行yum-config-manager--add-repo=https://yum.fury.io/netdevops/&&\echo"gpgcheck=0"|sudotee-a/etc/yum.repos.d/yum.fury.io_netdevops_.reposudoyuminstallcontainerlab......
  • esp8266 水墨屏显示中文之简单字库
    esp8266驱动水墨屏显示中文,假设在此之前已经安装好arduino,配置好esp8266的开发环境。水墨屏显示中文的步骤如下:一、下载库安装esp8266需要的库文件:GxEPD2屏幕驱动库U8g2_for_Adafruit_GFX安装过程可能需要梯子,如果已安装则跳过。二、准备使用打包好的工程驱动屏幕。......
  • 【设计模式】使用 go 语言实现简单工厂模式
    最近在看《大话设计模式》,这本书通过对话形式讲解设计模式的使用场景,有兴趣的可以去看一下。第一篇讲的是简单工厂模式,要求输入两个数和运算符号,得到运行结果。这个需求不难,难就难在类要怎么设计,才能达到可复用、维护性强、可拓展和灵活性高。运算符可能是加、减、乘、除,未了方......