在ibatis中在sql语句判断的时候isEqual和isNull的区别是什么地方
1个回答
展开全部
isNull判断property字段是否是null,用isEmpty更方便,包含了null和空字符串
你如果用
<isNotNull prepend="AND" property="id">
a.id=#id#
</isNotNull>
即使你在bean中不设置id的值,id的初始值也是0而不是null;所以这样配置a.id会等于0
而你把name变量用isNotNull这样配置,name如果不设置值,初始就是null,name的条件不就添加在sql中;
isEqual相当于equals,数字用得多些,一般都是判断状态值
<isEqual property="state" compareValue="0">
</isEqual>
或
<isEqual property="state" compareProperty="nextState">
</isEqual>
你如果用
<isNotNull prepend="AND" property="id">
a.id=#id#
</isNotNull>
即使你在bean中不设置id的值,id的初始值也是0而不是null;所以这样配置a.id会等于0
而你把name变量用isNotNull这样配置,name如果不设置值,初始就是null,name的条件不就添加在sql中;
isEqual相当于equals,数字用得多些,一般都是判断状态值
<isEqual property="state" compareValue="0">
</isEqual>
或
<isEqual property="state" compareProperty="nextState">
</isEqual>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询