sql,ibatis文件不允许在where后添加1=1这样的无用条件,where可以写在prepend属性里

不允许在where后添加1=1这样的无用条件,where可以写在prepend属性里,如:

   错误的写法:

select count(*)  from BD_CONTRACT t where 1=1
<dynamic>
  ......
</dynamic>

   正确的写法:

select count(*)  from BD_CONTRACT t
<dynamic prepend="where">
            <isNotNull prepend="and"  property="minSaleCount">
                 <![CDATA[  SALE_COUNT >= #minSaleCount:DECIMAL#]]>
            </isNotNull>
            <isNotNull prepend="and"  property="minOrderProductRate">
                 <![CDATA[  ORDER_PRODUCT_RATE >= #minOrderProductRate:DECIMAL#]]>
            </isNotNull>
            <isNotNull prepend="and"  property="minShopPositiveRate90d">
                 <![CDATA[ SHOP_POSITIVE_RATE_90D >= #minShopPositiveRate90d:DECIMAL#]]>
            </isNotNull>
            <isNotNull prepend="and"  property="maxIssueNetruleRate90d">
                 <![CDATA[ (ISSUE_NETRULE_RATE_90D IS NULL OR ISSUE_NETRULE_RATE_90D <= #maxIssueNetruleRate90d:DECIMAL#)]]>
            </isNotNull>
            <isNotNull prepend="and"  property="minAverageStar">
                 <![CDATA[ AVERAGE_STAR >= #minAverageStar:DECIMAL#]]>
            </isNotNull>
        </dynamic>


你可能感兴趣的:(sql,ibatis文件不允许在where后添加1=1这样的无用条件,where可以写在prepend属性里)