一、单行注释
以" // "开头,注释所在行末尾默认结束
java
//这是一个注释
int a = 0; //这也是一个注释
二、多行注释(块注释)
以" /* "开始," */ "结束,注意:不要嵌套
java
/*
这是一段注释
这是一段注释
这是一段注释
这是一段注释
*/
三、文档注释
以" /** "开始," */ "结束
与上述两种注释不同,此注释用于生成技术文档(用 javadoc 工具),虽然三者都是给开发人员做提示,但是单行/多行注释主要用于做代码内部临时说明或者调试 ,而文档注释则是公开正式的说明,面向开发者和其他使用该部分代码的人在,直观的感受就是,在其他类中使用了某个类时,鼠标移动到上方即可看到该类的说明
例如(以下均为演示)
在我创建一个实体类user并注释后在其他类中引用
java
package org.example.myblog_api.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 用户主表实体类
* <p>
* 存储系统用户的核心账户信息,支持登录、权限控制与状态管理。
* 对应数据库表:{@code users}
* </p>
* <p>
* 业务规则:
* <ul>
* <li>用户名 {@code username} 和邮箱 {@code email} 均唯一,可用于登录</li>
* <li>密码以 bcrypt/scrypt 算法加密后存储于 {@code password_hash} 字段</li>
* <li>角色 {@code role} 限定为 {@code 'user'}(普通用户)或 {@code 'admin'}(管理员)</li>
* <li>状态 {@code status}:{@code 1} 表示启用,{@code 0} 表示禁用(逻辑删除替代方案)</li>
* <li>时间字段 {@code created_at} 和 {@code updated_at} 由数据库自动维护</li>
* </ul>
* </p>
*/
@Data
@TableName("users")
public class User {
/**
* 用户唯一标识,自增主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 登录名,唯一且非空
*/
@TableField("username")
private String username;
/**
* bcrypt/scrypt 加密后的密码,非空
*/
@TableField("password_hash")
private String passwordHash;
/**
* 邮箱,用于登录和找回密码,唯一(可为空)
*/
@TableField("email")
private String email;
/**
* 手机号(可选),唯一
*/
@TableField("phone")
private String phone;
/**
* 真实姓名
*/
@TableField("real_name")
private String realName;
/**
* 头像地址(可为空)
*/
@TableField("avatar_url")
private String avatarUrl;
/**
* 角色:'user' 或 'admin',默认 'user'
*/
@TableField("role")
private String role = "user";
/**
* 账户状态:1=启用, 0=禁用,默认 1
*/
@TableField("status")
private Integer status = 1;
/**
* 最后登录时间(可为空)
*/
@TableField("last_login_at")
private LocalDateTime lastLoginAt;
/**
* 创建时间,插入时由数据库自动设置为 CURRENT_TIMESTAMP
*/
@TableField(value = "created_at", fill = FieldFill.INSERT)
private LocalDateTime createdAt;
/**
* 更新时间,插入或更新时由数据库自动刷新为 CURRENT_TIMESTAMP
*/
@TableField(value = "updated_at", fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updatedAt;
}
