yun...
这个和对象,地址应该一样吧。。

解决方案 »

  1.   

    一个是 判断是否相等 
    一个是 判断是否是NULL
      

  2.   

    isNull是判断一个参数对象的某个属性是否为null例如,id不为空的话拼串a.id=#id:INTEGER# <isNotNull prepend="AND" property="id">
    a.id=#id:INTEGER#
    </isNotNull>isEqual是判断一个参数对象的某个属性是否等于目标值,例如只有等于6时才拼串a.id=#id:INTEGER#
    [/code]
    <isEqual compareProperty="id" compareValue="6">
          a.id=#id:INTEGER#
    </isEqual>
    [/code]
      

  3.   

    isNull判断property字段是否是null,用isEmpty更方便,包含了null和空字符串isEqual相当于equals,数字用得多些,一般都是判断状态值
    <isEqual property="state" compareValue="0">
    </isEqual>

    <isEqual property="state" compareProperty="nextState">
    </isEqual>
      

  4.   

    给你一个非常简单的例子:
    两个变量
    private int id;
    private String name;
    你如果用
    <isNotNull prepend="AND" property="id">
      a.id=#id#
    </isNotNull>
    即使你在bean中不设置id的值,id的初始值也是0而不是null;所以这样配置a.id会等于0
    而你把name变量用isNotNull这样配置,name如果不设置值,初始就是null,name的条件不就添加在sql中,
    不知道你有没有明白?
    所以对初始值不为null的变量就应该用isEqual
    其他类似的应用可以自己思考延伸
      

  5.   

    传入的map或者类的属性name等于"1"吗,是就附加and和vvvv = '哈哈'
    <isEqual property="name" compareValue="1" prepend="and">
        vvvv = '哈哈'
    </isEqual>传入的map或者类的属性name是null吗,是就附加and和vvvv = null
    <isNull property="name" prepend="and">
        vvvv = null
    </isNull>
      

  6.   

    对初始值不为null的变量就应该用isEqual 
      

  7.   

    我的字段类型是number类型,在插入数据前先判断是否为空,但是如果是0,就被默认为空,这是为什么
      

  8.   

    3年的帖子现在还没有结ing