mybatis 传入null值解决方法

前端传入了为null时,很多时候我们都很困惑,明明传入的是null,为啥mybatis 的xml文件中的if条件判断无效?
<if test="name != null and name != ''">

identity_id = #{idcard,javaType=String,jdbcType=VARCHAR}

</if>
还是拼接了sql,
之前别的项目一直这么判断没问题,现在新的项目有问题了

阅读 8.1k
1 个回答

问题就是public static String valueOf(Object obj)
             返回 Object 参数的字符串表示形式。
   参数:
              obj - 一个 Object。
   返回:
           如果参数为 null,则字符串等于 "null";否则,返回 obj.toString() 的值
           String name = null;

    Object value = null;
    System.err.println(name == String.valueOf(value));         //输出false
    System.err.println(name == value);                         //输出true
    //System.err.println(name.equals(value));                  //空指针
   //System.err.println(name.equals( String.valueOf(value)));  //空指针
    System.err.println("null".equals( String.valueOf(value))); //输出true
    System.err.println("null".equals(value));                  //输出false
    System.err.println(name == (String)value);                 //输出true
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题