实体类注解

目录

 

一、@TableField注解

二、@TableId注解

三、@Table注解

四、@TableLogic注解

五、@Getter与@Setter注解

六、@EqualsAndHashCode注解

七、@Accessors注解


 

一、@TableField注解

@Data
@NoArgsConstructor  //空参构造方法
@AllArgsConstructor //全参构造方法
@TableName("tb_user")
public class User {
    @TableId(type=IdType.AUTO)  //声明主键自增长
    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=IdType.AUTO)
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");//返回对象
        System.out.println(user);
    }
}

 

 

你可能感兴趣的:(开发,数据库,sql,java)