MyBatis-Plus 的 FieldStrategy 属性
前几天做个需求的时候,有几个字段在更新的时候,可能为空。想着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 灵活性的重要体现,合理使用可以大大简化数据持久层代码,同时可以保证数据操作的精确性和安全性。
无善无恶心之体,有善有恶意之动;知善知恶是良知,为善去恶是格物。-- 烟沙九洲
相关文章:
MyBatis-Plus 的 FieldStrategy 属性
前几天做个需求的时候,有几个字段在更新的时候,可能为空。想着MyBatis-Plus有注解可以直接使用,就找寻了一下。此处记录一下。我用的MyBatis-Plus的版本是 3.5.1。版本之间对于 TableField 中的方法定义有些区别,但大体相差不大。…...
解锁塔能科技,开启工厂绿色转型与可持续发展双引擎
在全球积极推进可持续发展的大背景下,能源的高效利用与节能减排,已成为各行各业迈向高质量发展进程中无法回避的核心任务。工厂作为能源消耗大户与污染排放重点源头,其绿色转型迫在眉睫,这不仅关乎企业自身的长远发展,…...
c++进阶--智能指针
大家好,今天我们来学习一下c中的智能指针部分。 智能指针的使⽤及其原理 1. 智能指针的使⽤场景分析 下⾯程序中我们可以看到,new了以后,我们也delete了,但是因为抛异常导,后⾯的delete没有得到执⾏,所以…...
五种常用的web加密算法
文章目录 五种常用Web加密算法实战及原理详解1. AES (高级加密标准)原理详解应用场景实战代码(Node.js) 2. RSA (非对称加密)原理详解应用场景实战代码(Node.js) 3. SHA-256 (安全哈希算法)原理详解应用场景实战代码(浏…...
LeetCode 题目 「二叉树的右视图」 中,如何从「中间存储」到「一步到位」实现代码的优化?
背景简介 在 LeetCode 的经典题目 「二叉树的右视图」 中,我们需要返回从右侧看一棵二叉树时所能看到的节点集合。每一层我们只能看到最右边的那个节点。 最初,我采用了一个常规思路:层序遍历 每层单独保存节点值 最后提取每层最后一个节…...
MySQL——存储过程、索引
一、存储过程 1、存储过程使用的场景 例如:有一个购物网站,要验证查询商品的性能,测试之前肯定要准备大量的测试数据,如果是通过 执行 insert 语句一条一条进行插入,效率很低。这种情况下,写一个存储过程…...
【项目管理】第9章 项目范围管理
相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 (一)知识总览 项目管理知识域 知识点: (项目管理概论、立项管理、十大知识域、配置与变更管理、绩效域) 对应:第6章-第19章 (二)知识笔记 第9章 项目范围管理 1.管理基础 1.1 产品范围…...
无人机隐身技术难点要点!
全频段雷达隐身 频段覆盖挑战:传统隐身材料(如铁氧体、掺杂半导体)多针对特定频段(如X波段),难以应对米波至毫米波的宽频段探测。 低频段突破:低频雷达(如米波雷达)波长…...
gerrit配置及使用git-lfs
gerrit服务器端配置 下载git-lfs插件 登录Dashboard [Jenkins] (gerritforge.com),下载对应版本的插件 配置gerrit 将下载的lfs.jar插件放到${GERRIT_SITE}/plugins/下面为所有仓库启用git-lfs 此步骤需要修改 All-projects 仓库配置,步骤如下 1、克隆仓…...
基于DNS的负载均衡和反向代理负载均衡
基于 DNS 的负载均衡和反向代理负载均衡有一些相似之处,但实际上它们存在诸多区别,主要体现在以下几个方面: 工作原理 DNS 负载均衡:通过在 DNS 服务器中为同一主机名配置多个 IP 地址,DNS 服务器根据一定的算法&…...
Windows10 ssh无输出 sshd服务启动失败 1067报错 公钥无法认证链接 解决办法
背景描述 最近突然发现windows 10的ssh服务好像挂了,在系统设置-可选功能那里反复重新安装还是报错。命令行输入ssh按回车无输出(正常情况下应该输出一堆参数说明),但是Get-Command ssh 又可以找到system32下的ssh程序。任务管理…...
【图书管理系统】深入解析基于 MyBatis 数据持久化操作:全栈开发图书管理系统:查询图书属性接口(注解实现)、修改图书属性接口(XML 实现)
查询图书属性接口 约定前后端交互接口 约定前后端交互接口,进入修改页面,需要显示当前图书的信息; 请求 /book/queryBookById?bookId25 参数 无 响应 { "id": 25, "bookName": "图书21", "…...
消息队列(IPC技术)
目录 一、Linux 中主要的进程间通信方式如下: 二、消息队列函数 (1)msgget函数 功能概述 函数原型 参数解释 返回值 示例 结果 问题 (2) msgsnd函数 功能概述 函数原型 参数说明 返回值 示例 结果 (3࿰…...
分支语句和循环语句
什么是语句? C语言中由一个分号;隔开的就是一条语句。 比如: printf("haha");12;分支语句 if语句 if语句的语法结构: if(表达式)语句;if(表达式)语句1; else语句2;//多分支 if(表达式1)语句1; else if(表达式2)语句2; else语句3;在C语言…...
MySQL基础 [八] - 事务
目录 前言 什么是事务 事务的版本支持 事务的提交方式 事务的相关演示 并行事务引发的问题 脏读 dirty read 不可重复读 non-repeatable read 幻读 phantom read 事务的隔离级别 查看与设置隔离级别 读未提交(Read Uncommitted) 读提交&…...
深入理解Java反射
反射(Reflection)是Java语言的一个强大特性,它允许程序在运行时动态地获取类的信息并操作类或对象的属性、方法和构造器。就是在获取运行时的java字节码文件,通过各种方法去创建对象,反射是Java被视为动态语言的关键特性之一。 反射其实就是…...
【UE】渐变框材质
效果 步骤 新建一个材质,这里命名为“M_GlowingBorder”,打开“M_GlowingBorder”后,设置材质域为“用户界面”,混合模式为“半透明” 添加如下节点: 代码: Begin Object Class/Script/UnrealEd.Materia…...
2025年第十八届“认证杯”数学中国数学建模网络挑战赛【ABCD题】思路分析
首先,需要理解用户的需求。问题1需要数学模型来确定小行星的相对距离,而问题2需要预测短期轨道并计算特定时间的观测角度。这两个问题都需要结合天文学和数学建模的知识,涉及到轨道力学和几何定位的方法。 接下来,查阅提供的搜索…...
JavaScript 性能优化:突破瓶颈的实战指南
一、引言 在现代 Web 应用和 Node.js 服务端开发中,JavaScript 已成为核心编程语言。随着应用复杂度提升,性能问题愈发凸显。高延迟、卡顿甚至崩溃等现象,不仅影响用户体验,还可能导致业务流失。深入理解 JavaScript 性能瓶颈并…...
HarmonyOS:组件布局保存至相册
一,需求背景 有这样一个需求,将页面上的某个自定义组件以图片的形式保存至相册。 二,需求拆解 根据需求分析,可将需求拆解成两步: 1,将组件转换成图片资源; 2,将图片保存到相册…...
【langchain库名解析】
目录 一、from langchain_openai import ChatOpenAI 1. 核心功能 2. 典型使用场景 场景 1:直接生成对话回复 场景 3:流式输出(逐词显示结果) 3. 与其他 LangChain 组件的协同 结合提示模板(PromptTemplate&#…...
629SJBH图书管理系统设计与实现
一、 绪论 (一)课题的提出、现状及研究意义 图书馆是文献情报中心,是为教学和科研服务的学术性机构。它履行搜集、加工、存贮和传播知识信息的职能,与各系资料室互为补充,共同承担为教学和科研提供文献情报资料保障的…...
2025 年“认证杯”数学中国数学建模网络挑战赛 A题 小行星轨迹预测
近地小行星( Near Earth Asteroids, NEAs )是轨道相对接近地球的小行 星,它的正式定义为椭圆轨道的近日距不大于 1.3 天文单位( AU )的小行星。 其中轨道与地球轨道最近距离小于 0.05A 且直径大于 140 米的小行星被…...
PhotoShop学习09
1.弯曲钢笔工具 PhotoShop提供了弯曲钢笔工具可以直观地创建路径,只需要对分段推拉就能够进行修改。弯曲港币工具位于工具面板中的钢笔工具里,它的快捷键为P。 在使用前,可以把填充和描边选为空颜色,并打开路径选项,勾…...
远程管理命令:关机和重启
关机/重启 序号命令对应英文作用01shutdown 选项 时间shutdown关机 / 重新启动 一、shutdown shutdown 命令可以安全关闭 或者 重新启动系统。 选项含义-r重新启动 提示: 不指定选项和参数,默认表示 1 分钟之后 关闭电脑远程维护服务器时࿰…...
用Perl和HTTP::Tiny库的爬虫
HTTP::Tiny是Perl的一个轻量级HTTP客户端,适合简单的请求,但不像LWP那样功能全面,不过对于基本需求应该足够了。 首先,我需要熟悉HTTP::Tiny的基本用法。比如如何发起GET请求,设置user-agent,处理响应。用…...
MPP 架构解析:原理、核心优势与对比指南
一、引言:大数据时代的数据处理挑战 全球数据量正以指数级增长。据 Statista 统计,2010 年全球数据量仅 2ZB,2025 年预计达 175ZB。企业面临的核心挑战已从“如何存储数据”转向“如何快速分析数据”。传统架构在处理海量数据时暴露明显瓶颈…...
2025.04.10-拼多多春招笔试第三题
📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 03. 数字重排最大化问题 问题描述 LYA是一位专业的数字设计师。她手中有两个数字序列 s 1 s_1...
前端-vue2核心
官网网址Vue2 安装 — Vue.js 搭建环境 第一种方式(刚开是接触Vue) 我们看官网,可以直接在script引入vue版本。这里有两个版本,开发版和生产版本。我们两个都下载。 然后创建一个项目,将下载的生产版本和开发版本粘…...
基于springboot的“协同过滤算法的高考择校推荐系统”的设计与实现(源码+数据库+文档+PPT)
基于springboot的“协同过滤算法的高考择校推荐系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:springboot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 局部E-R图 系统…...
制作前的关键筹备:考试考核系统之核心要点
明确系统使用目的 制作考试考核系统前,企业需明确系统使用目的,这是开发基石,不同目的决定系统功能特性。用于员工培训考核时,系统要与培训内容结合,能生成相应考题,检验员工知识掌握程度,具备…...
【动手学深度学习】现代卷积神经网络:ALexNet
【动手学深度学习】现代卷积神经网络:ALexNet 1,ALexNet简介2,AlexNet和LeNet的对比3, AlexNet模型详细设计4,AlexNet采用ReLU激活函数4.1,ReLU激活函数4.2,sigmoid激活函数4.3,为什…...
Linux自启动脚本 systemctl
1.编写好脚本 #!/bin/bash /home/china/Linux/code/a.out2. 创建 Systemd 服务文件 sudo gedit /etc/systemd/system/my_script.service3.编写服务配置 将以下内容写入文件(根据需求修改字段): [Unit] DescriptionMy Custom Shell Script…...
2024年KBS SCI1区TOP:信息增益比子特征分组赋能粒子群算法ISPSO,深度解析+性能实测
目录 1.摘要2.信息度量3.改进策略4.结果展示5.参考文献6.代码获取 1.摘要 特征选择是机器学习中的关键预处理步骤,广泛应用于实际问题。尽管粒子群算法(PSO)因其强大的全局搜索能力被广泛用于特征选择,但要开发一种高效的PSO方法…...
餐饮厨房开源监控安全系统的智能革命
面对日益严格的合规要求和消费者对卫生的信任危机,传统人工监督已力不从心:卫生死角难发现、违规操作难追溯、安全隐患防不胜防。如何让后厨更透明、更安全、更可信?餐饮厨房视频安全系统横空出世!这套系统融合实时监控与AI技术&a…...
Ansys Electronics 变压器 ACT
你好, 在本博客中,我将讨论如何使用 Ansys 电子变压器 ACT 自动快速地设计电力电子电感器或变压器。我将逐步介绍设计和创建电力电子变压器示例的步骤,该变压器为同心组件,双绕组,采用正弦电压激励,并应用…...
Redis与Lua原子操作深度解析及案例分析
一、Redis原子操作概述 Redis作为高性能的键值存储系统,其原子性操作是保证数据一致性的核心机制。在Redis中,原子性指的是一个操作要么完全执行,要么完全不执行,不会出现部分执行的情况。 Redis原子性的实现原理 单线程模型&a…...
Shell 脚本开发从入门到实战
第1章:什么是 Shell 与 Shell 脚本? 一、Shell 是什么? Shell 是一个命令解释器,是你在 Linux 里敲命令的地方。你平时用的命令如 cd、ls、echo,其实都由 Shell 来解析执行。最常见的 Shell 是 Bash,绝大…...
宇视设备视频平台EasyCVR打造智慧酒店安防体系,筑牢安全防线
一、需求背景 酒店作为人员流动频繁的场所,对安全保障与隐私保护有着极高的要求。为切实维护酒店内部公共区域的安全秩序,24小时不间断视频监控成为必要举措。通常情况下,酒店需在本地部署视频监控系统以供查看,部分连锁酒店还希…...
深度解读分销小程序商城源码系统:从搭建到运营的关键指南
在移动互联网浪潮的席卷下,电商领域持续变革与创新。分销小程序商城凭借其独特优势,如依托社交平台流量、便捷的购物体验、高效的分销推广模式等,成为众多企业和创业者开展线上业务的热门选择。深入了解分销小程序商城源码系统,从…...
BeeWorks:打造安全可控的企业内网即时通讯平台
在数字化办公时代,企业对即时通讯工具的需求日益增长,尤其是对数据安全和隐私保护有严格要求的行业,如金融、政府、医疗等。BeeWorks 作为一款专注于内网部署的即时通讯软件,凭借其卓越的安全性、稳定性、丰富的功能以及全面的信创…...
微信小程序开发:废品回收小程序-功能清单
用户端:便捷体验,触手可及 废品百科与估价指南:平台以直观的方式展示各类废品的分类标准与实时市场价格,让用户轻松掌握废品价值,决策更从容。 一键预约,轻松回收:用户只需轻触屏幕,…...
【Grok 大模型深度解析】第一期:技术溯源与核心突破
一、Grok的技术基因:从Transformer到混合架构的演进 1.1 Transformer架构的局限性 2017年Google提出的Transformer架构彻底改变了自然语言处理领域,其自注意力机制(Self-Attention)在长序列建模上表现优异。然而,随着模型规模的增大,传统Transformer暴露出以下问题: 计…...
性能比拼: Redis vs Memcached
本内容是对知名性能评测博主 Anton Putra Redis vs Memcached Performance Benchmark 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 在本视频中,我们将对比 Redis 和 Memcached。我会介绍一些功能上的不同,但主要关注 性能。 首先…...
Mujoco xml actuator
actuator general(通用执行器)motor(电机执行器)position(位置伺服)velocity(速度伺服)intvelocity(积分速度伺服)damper(主动阻尼器)…...
Mybatis Plus分页查询返回total为0问题
概述 最近开发公司新项目,使用 Mybatis Plus 分页,发现总数和总页数为0,在此记录问题和解决方案。 添加 MybatisPlusConfig /*** author: lanys* version: 1.0* 创建时间:2025年4月9日 14:24:40* Description: MybatisPlus分页…...
多卡分布式训练:torchrun --nproc_per_node=5
多卡分布式训练:torchrun --nproc_per_node=5 1. torchrun 实现规则 torchrun 是 PyTorch 提供的用于启动分布式训练作业的实用工具,它基于 torch.distributed 包,核心目标是简化多进程分布式训练的启动和管理。以下是其主要实现规则: 进程启动 多进程创建:torchrun 会…...
网络层-IP地址计算
例1:IP地址二进制与十进制互转 题目: 将二进制IP 11000000.10101000.00000001.00001010 转换为点分十进制。将IP地址 172.16.254.1 转换为二进制格式。 答案与解析: 转换步骤: 每个8位二进制转为十进制: 11000000 →…...
BeagleBone Black笔记
目录 参考资料开机led控制GPIO输入输出插网线联网安装gcc编译工具镜像备份验证备份完整性将内存卡插入目标BBBboot启动开关 参考资料 链接: BeagleBone Black使用(一):狗板简介 链接: 使用Beaglebone Black的IO口 开机 直接用usb连接到电脑…...
【25软考网工笔记】第一章 计算机网络概述
目录 一、计算机网络发展与分类 1. 计算机网络形成和发展 1)ICT 2)计算机网络的发展 3)我国互联网发展 2. 计算机网络分类 1)通信子网和资源子网 2)PAN、LAN、MAN、WAN 3)其他分类方式 3. 计算机…...