package com.xia.xiatest.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
@Data
@Entity
@Table(name = "sys_user")
@TableName(value = "sys_user",autoResultMap = true)
public class User {
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
private Integer id;
private String username;
// 不对该字段进行序列化,若需要返回,则使用BeanUtil.copyProperties拷贝属性到对象
// @JsonIgnore
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String password;
private String email;
// 字段别名
@Column(columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP",insertable = false)
private Date createTime;
@Column(columnDefinition = "TIMESTAMP",insertable = false)
private Date updateTime = new Date();
}
createTime:使用columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP"实现自动填入当前时间且在更新操作时不再改变
updateTime:在初始化时新建对象,实现每次操作都更新时间。
@JsonProperty与@JsonIgnore:在调试过程中发现使用@RequestBody形式接收参数,并使用mybatis-plus的插入操作时,会忽略插入@JsonIgnore注解的属性,因此可用@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)替代。