实体管理
实体类遵循mybatisplus的书写规范,在对应系统或插件的entity目录下
-
实体类文件夹命名entity
-
系统使用统一的表前缀,注意与表对应
-
使用lombok的@data注解,省去书写get与set方法
-
注意个别字段名称可能使用了mysql的关键字,这里需要增加@TableField注解
例如:
@TableField(value = "desc")
private String desc;
- 部分功能将实体类直接接口返回,会针对个别字段特殊处理,比如createTime数据类型是long,但是返回数据是时间格式,同时不能专门书写get方法,就要使用注解处理,具体查看注解@JsonSerialize
例如:
//将时间由long转化成时间格式
@JsonSerialize(using = BeanJsonSerializer.LongDateToStringSerializer.class)
- 下面是一个实体类的书写
package com.niu.core.entity.addon;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.niu.core.common.domain.BeanJsonSerializer;
import lombok.Data;
import java.io.Serializable;
/**
* 插件实体
*/
@Data
public class Addon implements Serializable {
private static final long serialVersionUID = 1L;
/* 主键 */
@TableId(value="id", type= IdType.AUTO\)
private Integer id;
/* 插件名称 */
private String title;
/* 插件图标 */
private String icon;
/* 插件标识 */
@TableField(value = "key")
private String key;
/* 插件描述 */
@TableField(value = "desc")
private String desc;
/* 状态 */
@TableField(value = "status")
private Integer status;
/* 作者 */
private String author;
/* 版本号 */
private String version;
/* 创建时间 */
@JsonSerialize(using = BeanJsonSerializer.LongDateToStringSerializer.class)
private Long createTime;
/* 安装时间 */
@JsonSerialize(using = BeanJsonSerializer.LongDateToStringSerializer.class)
private Long installTime;
/* 更新时间 */
@JsonSerialize(using = BeanJsonSerializer.LongDateToStringSerializer.class)
private Long updateTime;
/* 封面 */
private String cover;
/* 插件类型app,addon */
private String type;
/* 插件支持的应用空表示通用插件 */
private String supportApp;
/* 是否加星 */
private Integer isStar;
/* 编译端口 */
private String compile;
}