<sql id="getWorkordersWithOutCancel.findByPageConditionPage">
<dynamic prepend="WHERE">
<isNotEmpty property="objCondition">
<isNotEmpty prepend="AND" property="objCondition.status">
STATUS = #objCondition.status#
<!-- AND SUBSTR(WORKORDER.WORKORDER,1,1) <>'A' -->
</isNotEmpty>
<isNotEmpty prepend="AND" property="objCondition.workorder">WORKORDER = #objCondition.workorder#</isNotEmpty>
<isNotEmpty prepend="AND" property="objCondition.fgcode">FGCODE = #objCondition.fgcode#</isNotEmpty>
<isNotEmpty prepend="AND" property="objCondition.workshop">WORKSHOP = #objCondition.workshop#</isNotEmpty>
</isNotEmpty>
</dynamic>
</sql>
xml语句格式排版混乱,导致输出的语句变为
SELECT COUNT(*) FROM WORKORDER WHERE STATUS = ? ANDWORKSHOP = ?
AND和属性workshop拼到一起了,导致报错
ORA-00933 SQL命令未正确结束
排版后OK
<sql id="getWorkordersWithOutCancel.findByPageConditionPage">
<dynamic prepend="WHERE">
<isNotEmpty property="objCondition">
<isNotEmpty prepend="AND" property="objCondition.status">
STATUS = #objCondition.status#
</isNotEmpty>
<isNotEmpty prepend="AND" property="objCondition.workorder">
WORKORDER = #objCondition.workorder#
</isNotEmpty>
<isNotEmpty prepend="AND" property="objCondition.fgcode">
FGCODE = #objCondition.fgcode#
</isNotEmpty>
<isNotEmpty prepend="AND" property="objCondition.workshop">
WORKSHOP = #objCondition.workshop#
</isNotEmpty>
</isNotEmpty>
</dynamic>
</sql>