mybatis-plus は更新操作を実行しています。更新フィールドが空の文字列または null の場合、更新は実行されません。指定したフィールドを null に更新したい場合は、次の 3 つの方法で実行できます。
1. グローバル構成
application.yml 構成ファイルに GlobalConfiguration 属性 update-strategy を挿入して構成し、
update-strategy 戦略を IGNORED に調整する、つまり判断戦略を無視することができます。グローバル認証戦略を調整できます。
# yml 配置:
mybatis-plus:
global-config:
db-config:
update-strategy: IGNORED
2.updateStrategy
注釈を追加する
エンティティ クラスで null に更新する必要があるフィールドにアノテーションを追加しupdateStrategy
、更新ポリシーを IGNORED に設定します。
@TableField(value = "name", updateStrategy=FieldStrategy.IGNORED)
private String name;
3.UpdateWrapperを使用して更新します
BaseMapperのUpdateWrapperを通じて、エンティティクラスの指定されたフィールドをnullに設定します。
baseMapper.update(sysUser, Wrappers.<SysUser>lambdaUpdate()
.set(SysUser::getOrgId, null)
.set(SysUser::getOrgName, null)
.eq(SysUser::getId, sysUser.getId())
);