MyBatis-Plus-@TableField排除策略

@TableField 注解的 insertStrategyupdateStrategy 可控制字段在 SQL 生成时的包含策略。

NEVER 策略

@TableField(
    value = "ID",
    insertStrategy = FieldStrategy.NEVER,
    updateStrategy = FieldStrategy.NEVER
)
private Long id;
  • insertStrategy = NEVERinsert() 时 SQL 中不包含该列,由数据库自增生成
  • updateStrategy = NEVERupdateById() 时 SQL 中不包含 SET ID=?,避免达梦等数据库报”试图修改自增列”

其他策略值

策略行为
ALWAYS始终包含该字段
NOT_NULL字段非 null 时包含(默认)
NOT_EMPTY字段非 null 且非空时包含
DEFAULT跟随全局策略
IGNORED忽略该字段的 SQL 处理
NEVER始终不包含该字段

适用于自增主键、数据库默认值字段等无需在应用层赋值的场景。