Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。
<!--notice 2 lombok bean生成set,get,equals、hashcode、toString代码看起来更简洁些-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>
1 使用
// notice: windows下不区分大小写
@Data
public class User {
private Long id;
private String name;
private String pwd;
}
//@TableName(value = "user")
//MySQL在Windows下都不区分大小写。
//MySQL在Linux下数据库名、表名、别名区分大小写 列名不区分
// notice: 如果实体类名和数据库表名不一致,则需要注解@TableName
// notice: @Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、
toString方法,如为final属性,则不会为该属性生成setter方法
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}