注解笔记

2/20/2024 注解

# 一、Mybatis-plus相关

# 1、@TableField

  • exist属性:标记属性是否为表中的字段
    @TableField(exist = false)
    private String firstName;
    
    1
    2
    表示firstName不是数据库中的字段

# 二、lombok相关

# 1、@Setter

  • value属性: 对于已经被@Data注解修饰的类,内部的属性可重新指定访问权限
    @Data
    public class User {
        ......
        private String name;
    
        @Setter(AccessLevel.NONE)
        private String firstName;
    
        public String getFirstName() {
            if (this.name != null && this.name.length() > 0) {
                return this.name.substring(0,1);
            }
            return "";
        }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    使用@Setter禁止对firstName的set访问

# 三、请求参数校验相关

# 1、开启DTO中的list中元素校验

import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;

@Data
public class AddProjectDTO {

  ... ...
  
  // 需要添加@Valid,才会使InvestSubProjectDTO中的校验生效
  @Valid 
  private List<InvestSubProjectDTO> subProjectList;
}

public class InvestSubProjectDTO {

  ... ...
  
  @NotNull
  private String name;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Last Updated: 3/2/2024, 11:36:32 AM