V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cway
V2EX  ›  程序员

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

  •  
  •   cway · 2019-08-08 09:46:08 +08:00 · 3540 次点击
    这是一个创建于 1941 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    12 条回复    2019-08-08 18:48:00 +08:00
    mosesyou
        1
    mosesyou  
       2019-08-08 10:18:23 +08:00
    我记得是空格不是 null
    cway
        2
    cway  
    OP
       2019-08-08 10:30:01 +08:00
    @mosesyou 如果空格不是 null 应该会进去以上这个条件呀!

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

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

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

    我有时会想,一个空格没问题,那要是传两个三个空格,这代码还能跑通么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2840 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:30 · PVG 15:30 · LAX 23:30 · JFK 02:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.