使用#orderItem#是会有问题的,ibatis会自动给你加上单引号,应该使用如下
<dynamic prepend="ORDER BY">
<isNotNull property="orderItem">
<![CDATA[
$orderItem$
]]>
</isNotNull>
<isNull property="orderItem">
<![CDATA[
a1.expiry_date
]]>
</isNull>
<isEqual property="orderRule" compareValue="1">
ASC
</isEqual>
<isEqual property="orderRule" compareValue="0">
DESC
</isEqual>
</dynamic>
例子:
<select id="findListByQuery" resultMap="promoteProductOrderRenewalDOResultMap" parameterClass="promoteProductOrderRenewalQuery" >
SELECT
<include refid="promoteProductOrderRenewal_do_columns" />
FROM promote_product_order_renewal a1
<include refid="doQueryParams" />
<dynamic prepend="ORDER BY">
<isNotNull property="orderItem">
<![CDATA[
$orderItem$
]]>
</isNotNull>
<isNull property="orderItem">
<![CDATA[
a1.expiry_date
]]>
</isNull>
<isEqual property="orderRule" compareValue="1">
ASC
</isEqual>
<isEqual property="orderRule" compareValue="0">
DESC
</isEqual>
</dynamic>
<isEqual property="page" compareValue="true">
limit #start#,#limit#
</isEqual>
</select>