User user1 = new User(); user1.setName("jiangxp"); user1.setAge(18); user1.setId(1); User user2 = new User(); user2.setName("jiangxp"); user2.setAge(18); user2.setId(2);
两条user数据,ID完全不一样,结果明显是错的,没有做id的equals判断,修改为:
@EqualsAndHashCode(callSuper = true)才能得到正确结果.
2.@Builder调用其他团队某个接口的时候发现对方定义的Option里面分成了十几个选项,但是没有提供链式调用,这样每次set值就要好几行代码,使用起来很不方便,代码也不美观。
UserExample userExample = UserExample.builder() .id(1) .name("aaa") .address("bbb") .build();3.常用的几个注解:
@Data : 注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法
@AllArgsConstructor: 注在类上,提供类的全参构造
@NoArgsConstructor: 注在类上,提供类的无参构造
@Setter: 注在属性上,提供 set 方法
@Getter : 注在属性上,提供 get 方法
@EqualsAndHashCode : 注在类上,提供对应的 equals 和 hashCode 方法
@Log4j/@Slf4j : 注在类上,提供对应的 Logger 对象,变量名为 log
链式访问,该注解设置chain=true,生成setter方法返回this(也就是返回的是对象),代替了默认的返回void。
@Data @Accessors(chain=true) public class User { private Integer id; private String name; private Integer age; public static void main(String[] args) { //开起chain=true后可以使用链式的set User user=new User().setAge(31).setName("pollyduan");//返回对象 System.out.println(user); } }5.@TableName
@TableName("user") public class UserBean { // ... }
将 user 数据表和 UserBean 实体进行映射。
6.@ApiModel和@ApiModelProperty@ApiModelProperty()用于方法,字段; 表示对model属性的说明或者数据 *** 作更改
@ApiModel(value="user对象",description="用户对象user")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)