MyBatis 有问<if test="param!=null">问题

2019-08-08 09:46:08 +08:00
 cway

如题: 我发现 param 传参为带空格的字符串它也不走上述条件中的,也就是说 它也将为空格的参数也当 null 进行处理了。以前我还会多加了 param!=''的条件,看来以前有点多此一举啊,直接判断不等于 null 就行了。v2 的大佬们请问是这样的么?

3400 次点击
所在节点    程序员
12 条回复
mosesyou
2019-08-08 10:18:23 +08:00
我记得是空格不是 null
cway
2019-08-08 10:30:01 +08:00
@mosesyou 如果空格不是 null 应该会进去以上这个条件呀!

然后我又发现如果 if test="param!=null||param!=‘’ " 。

这个条件反而能进来,这样就奇怪了,空格是区别于 null 的单独的存在嘛,空格虽然不是 null 但也不会进!=null 的条件
cway
2019-08-08 10:37:42 +08:00
加了几个条件又进去了,晚上下班回去研究下这个问题
kkkkkrua
2019-08-08 10:40:04 +08:00
你第二个条件肯定能进去啊。不应该是&&?
空格,空字符串,null,属于不同的值
LeeSeoung
2019-08-08 10:44:50 +08:00
与 或 不是 and or 么 ?你用||?
piaoxue
2019-08-08 10:46:06 +08:00
不是用 and 么
mineqiqi
2019-08-08 11:24:35 +08:00
string 类型的''和 null 不可能是同一个条件
weo0
2019-08-08 11:27:27 +08:00
难道不是 and 或者 or ?
cweijan
2019-08-08 13:06:55 +08:00
空格不为 null, 醒醒
wr410
2019-08-08 13:13:10 +08:00
<if test=" clearBankCardNo != null and clearBankCardNo != '' " >

无责任项目直接拷贝(坏笑)
beetlerx
2019-08-08 13:58:01 +08:00
<if test="param != null &amp;&amp; !param.isEmpty()">
我都是这么用的
javaWeber
2019-08-08 18:48:00 +08:00
类似 <if test=" clearBankCardNo != null and clearBankCardNo != '' " > 这种 mybatis 代码 。。

我有时会想,一个空格没问题,那要是传两个三个空格,这代码还能跑通么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/590014

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX