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条件的场景)

相关推荐
黎相思14 分钟前
MySQL索引特性
数据库·mysql
rit84324991 小时前
压缩感知信号恢复算法:OMP与CoSaMP对比分析
数据库·人工智能·算法
Forget_85501 小时前
RHCE复习作业4
数据库
f***28141 小时前
【零基础学Mysql】常用函数讲解,提升数据操作效率的利器
数据库·mysql
+VX:Fegn08951 小时前
计算机毕业设计|基于springboot+vue的学校课程管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
Elastic 中国社区官方博客1 小时前
ES|QL 在 9.2:智能查找连接和时间序列支持
大数据·数据库·人工智能·sql·elasticsearch·搜索引擎·全文检索
q***01652 小时前
PostgreSQL 17 发布了!非常稳定的版本
数据库·postgresql
菜鸟冲锋号2 小时前
问题:增量关联(实时同步新数据) 这个场景中,如果hudi_pay 变更了一条数据,hudi_order_pay_join 结果的数据会跟着变化吗
服务器·前端·数据库
Wilson Chen2 小时前
深入解剖 Redis Cluster:从 16384 分片原理到故障自动转移的硬核实战
数据库·redis·缓存
q***06292 小时前
LangChain-08 Query SQL DB 通过GPT自动查询SQL
数据库·sql·langchain