mybatis 数据库字段为空or为空串 忽略条件过滤, 不为空且不为空串时才需nameParam过滤条件

name未配置视为不考虑name条件

select * from user where (( (ISNULL(name)) OR (name='') ) OR name = #{user.nameParam} )

三个or语句 推荐这个

select * from user where ISNULL(name) OR name='' OR name = #{user.nameParam}

sql 复制代码
select * from user where ISNULL(name) OR name=''
<if test="user.nameParam != null and user.nameParam !=''">
OR name = #{user.nameParam}
</if>

数据库的name字段为空或为空字符串 ,nameParam 无论有无值都可以匹配到

数据库的name字段不为空也不为空字符串, 就要用nameParam匹配了(传参nameParam不为空, 和数据库的不为空的匹配; 传参nameParam为空, 数据库的为空的匹配, 即不考虑name条件的场景)

相关推荐
biass16 小时前
MyBatis-Plus 实现精准、模糊、批量搜索
mybatis
流星白龙16 小时前
【MySQL高阶】17.InnoDB 内存结构
数据库·mysql·adb
刘欣的博客16 小时前
LiteNetLib WinForm Demo
数据库·microsoft·c#
Lyyaoo.16 小时前
【MySQL】索引
数据库·mysql
i220818 Faiz Ul16 小时前
民谣网站|基于Springboot的民谣网站管理系统(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·民谣网站
摇滚侠17 小时前
JDBC 基础到高级一套通关!基础篇 00-15
java·开发语言·数据库
Amnesia0_017 小时前
MYSQL操作
数据库·mysql
兆。17 小时前
LangChain实验跟踪集成指南:面向ML研究员
数据库·langchain
zhojiew17 小时前
DuckLake湖仓数据格式常用操作实践以及和Iceberg的对比
数据库
万粉变现经纪人17 小时前
2026最新CSDN博客质量分v6.0深度解读:从评分机制到80+实战提分指南
数据库·人工智能·深度学习·csdn·csdn博客·csdn博客质量分6.0·博客质量分