一元条件元素 IBatisNet

一元条件元素

一元条件元素检查属性的状态是否符合特定的条件。即检查属性值是否满足条件,如果满足则查询条件有效。

一元条件元素的属性和二元条件元素一样,具有prepend和property属性,其中property为必选属性。

一元条件元素为:

<isPropertyAvailable>

检查是否存在该属性。

<isNotPropertyAvailable>

检查是否不存在该属性。

<isNull>

检查属性是否为null。

<isNotNull>

检查属性是否不为null。

<isEmpty>

检查属性是否为空,属性的数据类型为Collection、String 时检查是否为null或空,即是否为""或size() < 1。如:

<isNotEmpty prepend="AND" property="firstName" >

FIRST_NAME=#firstName#

</isNotEmpty>

<isNotEmpty>

检查属性是否不为空,检查方式同上。

比如下面的配置例子:

<selectid="SelectSysuserDynamic3"resultMap="SysuserResult"parameterClass="System.Collections.IDictionary">

<![CDATA[ SELECT * FROM DEAN.SYSUSER ]]>

<dynamicprepend="WHERE">

<isPropertyAvailableproperty="SEX">

<isNotNullproperty="SEX"prepend="AND">

SEX=#SEX#

</isNotNull>

</isPropertyAvailable>

<isPropertyAvailableproperty="STATUS">

<isNotNullproperty="STATUS"prepend="AND">

STATUS=#STATUS#

</isNotNull>

</isPropertyAvailable>

</dynamic>

</select>

先判断传入参数集是否有SEX参数,如果没有则不执行SEX=#SEX#查询条件,再判断该参数是否为null,不为null才执行查询条件。isPropertyAvailable元素最大的好处是,如果输入的参数集不包括设置的参数时程序不会报错,直接跳过该元素设置内容。

原文地址:https://www.cnblogs.com/Artemisblog/p/3707201.html