java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > mybatisPlus FieldStrategy 策略

mybatisPlus FieldStrategy 策略作用小结

作者:爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ

MyBatis-Plus的FieldStrategy枚举用于控制实体字段在插入、更新和查询条件中的空值处理策略,下面就来详细的介绍一下mybatisPlus FieldStrategy 策略,感兴趣的可以了解一下

MyBatis-Plus 的 FieldStrategy 枚举用于控制实体字段在 插入(Insert)更新(Update)查询条件(Where) 中的空值处理策略。理解这些策略对避免数据异常非常重要,以下是详细解释:

一、各策略的作用

1.IGNORED

2.NOT_NULL

3.NOT_EMPTY

4.DEFAULT

5.NEVER

二、不同方法(insert/update/where)的策略差异

1.insertStrategy(插入时)

2.updateStrategy(更新时)

3.whereStrategy(查询条件时)

三、策略对比表

策略插入(Insert)更新(Update)查询条件(Where)
IGNORED字段值无论如何都插入字段值无论如何都更新字段值无论如何都作为条件
NOT_NULL忽略 null,插入其他值忽略 null,更新其他值忽略 null,其他值作为条件
NOT_EMPTY忽略 null、""、空集合忽略 null、""、空集合忽略 null、""、空集合
DEFAULT按全局配置(通常为 NOT_NULL)按全局配置(通常为 NOT_NULL)按全局配置(通常为 NOT_NULL)
NEVER字段不参与插入字段不参与更新字段不作为条件

四、常见应用场景

1. 允许更新字段为null

@TableField(updateStrategy = FieldStrategy.IGNORED)
private String remark; // 允许将备注更新为 null

2. 插入时自动填充默认值

@TableField(insertStrategy = FieldStrategy.NOT_NULL)
private Integer status = 1; // 插入时若未设置值,则使用默认值 1

3. 避免空字符串作为查询条件

@TableField(whereStrategy = FieldStrategy.NOT_EMPTY)
private String keyword; // 避免空字符串作为查询条件

五、全局配置 vs 字段注解

六、总结

合理配置这些策略可以避免 null 值导致的意外数据问题,提高代码健壮性。

到此这篇关于mybatisPlus FieldStrategy 策略作用的文章就介绍到这了,更多相关mybatisPlus FieldStrategy 策略内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文