SpringBoot的实体书写规范

419 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第7天

实体书写格式

实体格式内容主要包括:

实体书写规范.png

一、类名:

1、数据库表对应实体:

名称和数据表相对应,符合驼峰命名法

数据库表名称:XXX_MESSAGE

实体命名:XxxxMessage

2、业务实体:

名称根据实际的业务需求建立,添加后缀DTO,符合驼峰命名法

接口传入实体:XxxxXxxxListReqDTO

接口返回实体:XxxxXxxxListResDTO

二、注释

1、类注释:

包括功能描述,作者,时间,注释格式符合注释规范要求

/**
 * 视频回访用户信息实体
 * @author wuhailong
 * @date 2022/3/19 8:58
 */

2、swagger注释:

包括swagger类注释和属性注释,格式要求符合swagger注释规范

swagger类注释:

@ApiModel(value = "用户信息实体")

swagger属性注释:

@ApiModelProperty(name = "xxId",value = "用户唯一标识",required = true,example = "xxId") private String xxId; //用户唯一标识

3、属性注释:

在属性定义之后,添加属性含义的注释

private String xxId; //用户唯一标识

4、@Transient注释

在数据库表定义的实体中添加非数据库表的字段,需要添加@Transient注释说明

5、属性名:

和数据库表中字段相对应,符合驼峰命名法

6、Set,get方法:

所有属性都要添加set,get方法,添加新的属性就要添加新的set,get方法

7、toString方法:

添加新的属性后需要更新toString方法

三、实例代码:


package xxx.xxx.xxx.dto; 

/Auto Generated By Hap Code Generator/ 
import ... 

/** 
 * 用户信息实体 
 * @author wuhailong 
 * @date 2022/3/19 8:58 
 * @return null 
 */ 
@ApiModel(value = "用户信息实体") 
@ExtensionAttribute(disable=true) 
@Table(name = "USER_INFO") 
public class UserInfo extends BaseDTO { 
 
public static final String FIELD_USER_ID = "userId";
public static final String FIELD_USER_NAME = "userName";
public static final String FIELD_MOBILE = "mobile";

@Id
@GeneratedValue
@ApiModelProperty(name = "userId",value = "用户信息id",required = true,example = "userId")
private Long userId; //用户信息表主键
    
@Length(max = 50)
@ApiModelProperty(name = "userName",value = "昵称",required = true,example = "userName")
private String userName; //用户名
    
@Length(max = 50)
@ApiModelProperty(name = "mobile",value = "手机号",required = true,example = "mobile")
private String mobile; //手机号

@Transient 
private String fileName; //文件名称 
 
public Long getUserId() { 
   return userId; 
} 

public void setUserId(Long userId) { 
    this.userId = userId; 
} 
    ... 

@Override 
public String toString() { 
    return "UserInfo{" + 
        "userId=" + userId + 
        ", userName='" + userName + '\'' + 
        ", mobile='" + mobile + '\'' +  
        '}'; 
    } 
}