<select id="SelectEemployee" parameterClass="string" resultMap = "employee-result">
select * from employee
//動態SQL語句
<dynamic prepend="WHERE">
<isParameterPresent>
emp_id = #value#
</isParameterPresent>
</dynamic>
</select>
</statements>
</sqlMap>
/*動態SQL的寫法:
開始 <dynamic
條件成立時前面要加的字符串 prepend ="字符串">
<屬性關鍵字 (見下表)
prepend="字符串"
判斷條件的對象屬性名 property="字符串"
如果是屬性關鍵字是比較條件時,字符串存放要比較的值compareValue="字符串">
要顯示的條件名
</屬性關鍵字>
結束</dynamic>
*/
/*動態SQL的參數有
屬性關鍵字 |
含義 |
<isEqual> |
如果參數相等于值則查詢條件有效。 |
<isNotEqual> |
如果參數不等于值則查詢條件有效。 |
<isGreaterThan> |
如果參數大于值則查詢條件有效。 |
<isGreaterEqual> |
如果參數等于值則查詢條件有效。 |
<isLessEqual> |
如果參數小于值則查詢條件有效。如下所示: <isLessEqual prepend = ”AND” property = ”age” compareValue = ”18” > ADOLESCENT = ‘TRUE’ </isLessEqual> |
<isPropertyAvailable> |
如果參數有使用則查詢條件有效。 |
<isNotPropertyAvailable> |
如果參數沒有使用則查詢條件有效。 |
<isNull> |
如果參數為NULL則查詢條件有效。 |
<isNotNull> |
如果參數不為NULL則查詢條件有效。 |
<isEmpty> |
如果參數為空則查詢條件有效。 |
<isNotEmpty> |
如果參數不為空則查詢條件有效。參數的數據類型為Collection、String 時參數不為NULL或“”。如下所示: <isNotEmpty prepend=”AND” property=”firstName” > FIRST_NAME=#firstName# </isNotEmpty> |
<isParameterPresent> |
如果參數類不為NULL則查詢條件有效。 |
<isNotParameterPresent> |
Checks to see if the parameter object is not present (null). Example Usage: <isNotParameterPresent prepend=”AND”> EMPLOYEE_TYPE = ‘DEFAULT’ </isNotParameterPresent> |
文章最上面的寫法就是動太查詢呀
我給 加詳細點
<isGreaterThan prepend="and" compareValue="-1" property="State">
State = #State#
</isGreaterThan>
<isNotEqual prepend="and" property="OrderStateTime" compareValue="0001-1-1 0:00:00" >
CreateDate>=#OrderStateTime#
</isNotEqual>
<isNotEqual prepend="and" property="OrderEndTime" compareValue="0001-1-1 0:00:00" >
<![CDATA[ CreateDate <= #OrderEndTime#]]>
</isNotEqual>
<isNotEmpty prepend="and" property="OrderId">
id like '%$OrderId$%'
</isNotEmpty>