<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>
|