链式加载(两种实现方式)
准备工作
-
建一个java工程
-
建一个实体类(也就是我们所说的pojo,或者说是entity)
1.第一种方式,传统的方式
- entity
public class Demo {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public Demo setId(Integer id) {
this.id = id;
return this;
}
public String getName() {
return name;
}
public Demo setName(String name) {
this.name = name;
return this;
}
@Override
public String toString() {
return "Demo [id=" + id + ", name=" + name + "]";
}
}
步骤:
1.自动生成get,set,toString方法
2.改造set方法,返回值为entity本身
- 测试
@Test
public void test1() {
Demo demo = new Demo();
demo.setId(1).setName("demo的name");
System.out.println(demo);
}
控制台打印:
Demo [id=1, name=demo的name]
2.第二种方式,使用lombok
-
准备工作
1.eclipse整合lombok
2.引入lombok的jar包
-
entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain=true)
public class DemoData {
private Integer id;
private String name;
}
步骤:
1.新建entity类,然后添加私有属性
2.添加注解
说明:
链式加载的注解 @Accessors(chain=true)
lombok注解解释:
一般建实体类,加上这几个注解
1.@Data作用
(1)get方法(2)set方法(3)toString(4)无参构造器(5)equals方法(6)hashcode方法
2.@AllArgsConstructor作用
生成全参数的构造器
注意:此时无参数构造器没用了
3.@NoArgsConstructor作用
生成无参数构造器
@AllArgsConstructor和@NoArgsConstructor一般一起使用
4.@Accessors(chain=true)作用
支持链式加载
- 测试
@Test
public void test2() {
DemoData demoData = new DemoData();
demoData.setId(1).setName("demoData的name");
System.out.println(demoData);
}
控制台打印:
DemoData(id=1, name=demoData的name)