com.diboot.core.entity.BaseEntity Maven / Gradle / Ivy
package com.diboot.core.entity;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.diboot.core.util.JSON;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
/**
* Entity基础父类
* @author Mazhicheng
* @version v2.0
* @date 2018/12/27
*/
public abstract class BaseEntity implements Serializable {
private static final long serialVersionUID = 10203L;
/***
* 默认主键字段id,类型为Long型自增,转json时转换为String
*/
@TableId(type = IdType.AUTO)
private Long id;
/***
* 默认逻辑删除标记,deleted=0有效
*/
@TableLogic
@JSONField(serialize = false)
private boolean deleted = false;
/***
* 默认记录创建时间字段,新建时由数据库赋值
*/
@TableField(update="now()")
private Date createTime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Date getCreateTime() {
return this.createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public boolean isDeleted() {
return deleted;
}
public void setDeleted(boolean deleted) {
this.deleted = deleted;
}
/***
* 是否为新建
* @return
*/
@JSONField(serialize = false)
public boolean isNew(){
return getId() != null;
}
/***
* model对象转为map
* @return
*/
public Map toMap(){
String jsonStr = JSON.stringify(this);
return JSON.toMap(jsonStr);
}
/**
* model对象转为String
* @return
*/
@Override
public String toString(){
return this.getClass().getName()+ ":"+this.getId();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy