跳到主要内容

Entity 规范

注解

所有 Entity 必须放在 entity 包下。DLZ-DB 有三个注解:

注解作用示例
@TableName自定义表名@TableName("t_user")
@TableId标记主键字段@TableId
@TableField自定义列名@TableField("email_address")

命名映射(自动)

Java数据库
类名 User.javauser
类名 OrderItem.javaorder_item
getter getUserName()user_name
getter getRealName()real_name

不写 @TableName@TableField 时自动转换。

字段注释

每个字段加 @ApiModelProperty(value = "xxx")(Swagger),描述字段含义。

模板

package com.example.{package}.entity;

import io.swagger.annotations.ApiModelProperty;
import java.util.Date;

@Data
@TableName("t_user") // 可选,不写自动转
public class User {

@TableId
@ApiModelProperty(value = "主键")
private Long id;

@ApiModelProperty(value = "用户名")
private String username;

@ApiModelProperty(value = "状态 1=启用 0=禁用")
private Integer status;

@TableField("real_name") // 可选
@ApiModelProperty(value = "真实姓名")
private String realName;

@ApiModelProperty(value = "创建时间")
private Date createTime;
}

逻辑删除

Entity 里只要有 deleted 字段(BooleanInteger),DLZ-DB 自动启用逻辑删除:

  • 查询自动加 WHERE deleted = 0
  • DELETE 语句自动转换为 UPDATE SET deleted = 1
  • 需要物理删除时加 .ignoreLogicDelete(true)