登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP网盘
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
MyBatis-Plus 的 FieldStrategy 属性
MyBatis-Plus 的 FieldStrategy 属性
[ 复制链接 ]
昝琳怡
2025-6-1 18:21:11
前几天做个需求的时候,有几个字段在更新的时候,可能为空。想着MyBatis-Plus有注解可以直接使用,就找寻了一下。此处记录一下。我用的MyBatis-Plus的版本是 3.5.1。版本之间对于 @TableField 中的方法定义有些区别,但大体相差不大。
1、FieldStrategy.IGNORED
(我找的就是它)
忽略判断。
无论字段值是否为 null,都会拼接到 SQL 中。
适合需要显式设置 null 值的场景,可能覆盖数据库默认值。
2、FieldStrategy.NOT_NULL
非 NULL 判断。
只有字段值不为 null 时,才会拼接到 SQL 中。
不会将 null 值更新到数据库。
3、FieldStrategy.NOT_EMPTY
非空判断。
比 NOT_NULL 更严格一些。
会检查是否为空字符串 (""),会检查是否为空集合。
4、FieldStrategy.DEFAULT
默认策略。
默认值为 NOT_NULL,可以进行全局配置。
5、FieldStrategy.NEVER
永不加入。
无论字段值是什么,都不会拼接到 SQL 中。
完全排除该字段的更新/插入。
适合敏感字段或只读字段。
在我使用的MyBatis-Plus版本 3.5.1 中,会用到 FieldStrategy 属性的方法有,insertStrategy()、updateStrategy()、whereStrategy()。
可以进行
差异化
配置:
@TableField(insertStrategy = FieldStrategy.NOT_NULL, updateStrategy = FieldStrategy.IGNORED)
private String mobile;
复制代码
注意使用 FieldStrategy.IGNORED 时,数据库的字段
不能设置为 NOT NULL
。不然会报错。
FieldStrategy 是 MyBatis-Plus 灵活性的重要体现,合理使用可以大大简化数据持久层代码,同时可以保证数据操作的精确性和安全性。
无善无恶心之体,有善有恶意之动;知善知恶是良知,为善去恶是格物。-- 烟沙九洲
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
昝琳怡
2025-6-1 18:21:11
关注
0
粉丝关注
10
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
凶契帽
9990
处匈跑
9990
4
黎瑞芝
9990
5
杭环
9988
6
猷咎
9988
7
鲫疹
9988
8
接快背
9988
9
里豳朝
9988
10
氛疵
9988
查看更多