目录
一、@TableField注解
二、@TableId注解
三、@Table注解
四、@TableLogic注解
五、@Getter与@Setter注解
六、@EqualsAndHashCode注解
七、@Accessors注解
一、@TableField注解
@Data
@NoArgsConstructor //空参构造方法
@AllArgsConstructor //全参构造方法
@TableName("tb_user")
public class User {
@TableId(type=) //声明主键自增长
private Long id;
private String userName;
private String password;
@TableField(select = false) //查询时,则不返回该字段的值
private String name;
private Integer age;
@TableField(value = "email") //通过tableField进行字段不一致的映射
//数据库字段是email,而实体类对应的是mail
private String mail;
@TableField(exist = false) //设置该字段在数据库表中不存在
private String msg; //数据库中不存在该字段
}
二、@TableId注解
当我们javaBean中的主键属性名和数据库中的主键属性名不一致时,需要设置该属性,增加映射关系
//将我们javaBean中的属性名uid与数据库中的属性id进行映射
@TableId(value = "id")
private Long uid;
#设置主键自增
@TableId(value = "id",type=)
private Long uid;
三、@Table注解
标记为实体类,指定其对应表t_address
@Entity
@Table(name="t_address")
四、@TableLogic注解
@TableLogic //注解表示逻辑删除
@ApiModelProperty(value = "删除标记,1:已删除,0:正常")
private String delFlag;
五、@Getter与@Setter注解
@Getter
@Setter
public class Student {
private String name;
private int age;
}
六、@EqualsAndHashCode注解
@EqualsAndHashCode(callSuper = true),就是用自己的属性和从父类继承的属性来生成hashcode;
@EqualsAndHashCode(callSuper = false),就是只用自己的属性来生成hashcode;
/**
* 比亚迪汽车
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class BYD extends Car {
/**
* 价格
*/
private Integer price;
}
七、@Accessors注解
@Accessors(chain = true)开启链式编程,编写代码更方便
@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");//返回对象
(user);
}
}