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

相关推荐
浏览器爱好者15 分钟前
如何使用MongoDB进行数据存储?
数据库·mongodb
yuanpan19 分钟前
MongoDB中的横向扩容数据分片
数据库·mongodb
草明21 分钟前
Mongodb 慢查询日志分析 - 1
数据库·python·mongodb
yuanpan22 分钟前
MongoDB的事务机制
数据库·mongodb
SelectDB1 小时前
Apache Doris 2.1.8 版本正式发布
大数据·数据库·数据分析
一个处女座的暖男程序猿2 小时前
MyBatis Plus 中常用的 Service 功能
linux·windows·mybatis
endcy20162 小时前
IoTDB结合Mybatis使用示例(增删查改自定义sql等)
java·mybatis·iotdb
云和恩墨3 小时前
云计算、AI与国产化浪潮下DBA职业之路风云变幻,如何谋破局启新途?
数据库·人工智能·云计算·dba
明月看潮生3 小时前
青少年编程与数学 02-007 PostgreSQL数据库应用 11课题、视图的操作
数据库·青少年编程·postgresql·编程与数学
阿猿收手吧!4 小时前
【Redis】Redis入门以及什么是分布式系统{Redis引入+分布式系统介绍}
数据库·redis·缓存