Dynamic Mapped Statement

for 動的なSQL

==================================================
■動的部分タグ
動的に作成される部分を示すタグ。

タグ
<'dynamic>
[省略可能]動的に作成される個所を囲むタグ。

属性
prepend
タグの条件が成立した場合に、先頭に付加する内容を記述。

ex.
<'update id="updateUser" parameterClass="ibatis.User">
UPDATE USER
SET NAME = #name#
<'dynamic>
<'isNotNull prepend="," property="age">
AGE = #age#
<'/isNotNull>
<'/dynamic>
WHERE id = #id#
<'/update>

==================================================
■比較タグ
property(比較元プロパティ) と compareValue(比較先の値) または property と compareProperty(比較先プロパティ) を比較する条件を表すタグ。
条件が成立した場合、タグの内側の処理を行う。

タグ
<'isEqual>
比較した値が等しいかどうか判定。
<'isNotEqual>
比較した値が等しくないかどうか判定。
<'isGreaterThan>
比較した値が大きいかどうか判定。
<'isGreaterEqual>
比較した値が大きい、または等しいかどうか判定。
<'isLessThan>
比較した値が小さいかどうか判定。
<'isLessEqual>
比較した値が小さい、または等しいかどうか判定。

属性
prepend
タグの条件が成立した場合に、先頭に付加する内容を記述。
property
[必須]比較元のプロパティ名を指定。
compareValue
比較先の値を指定。
compareProperty
比較先のプロパティ名を指定。
※compareValue か comparePropertyのどちらかを指定すること。

ex.
プロパティ"age"に格納されている値が、"25"より大きい場合、AND AGE = age という条件を追加:
<'isGreaterEqual prepend="AND" property="age" compareValue="25" >
AGE = #age#
<'/isGreaterEqual>

==================================================
■状態判定タグ
property(比較元プロパティ) の値が null かどうか、空かどうか、利用可能かなどの条件を表すタグ。
条件が成立した場合、タグの内側の処理を行う。

タグ
<'isPropertyAvailable>
比較元プロパティが利用可能かどうかを判定。
<'isNoPropertyAvailable>
比較元プロパティが利用可能かどうかを判定。
<'isNull>
比較元プロパティの値が null かどうか判定。
<'isNotNull>
比較元プロパティの値が null ではないかどうか判定。
<'isEmpty>
プロパティの値をCollection, String, String.valueOf のいずれかとして評価し null または "" , size() <' 1)かどうか判定。
<'isNotEmpty>
プロパティの値をCollection, String, String.valueOf のいずれかとして評価し null または "" , size() <' 1)ではないかどうか判定。

属性
prepend
タグの条件が成立した場合に、先頭に付加する内容を記述。
property
[必須]比較元のプロパティ名を指定。

==================================================
■オブジェクト存在判定タグ
property(比較元プロパティ)が null かどうかの条件を表すタグ。
条件が成立した場合、タグの内側の処理を行う。

タグ
<'isParameterPresent>
比較元プロパティ(オブジェクト)が null かどうかを判定。
<'isNotParameterPresent>
比較元プロパティ(オブジェクト)が null ではないかどうかを判定。

属性
prepend
タグの条件が成立した場合に、先頭に付加する内容を記述。

==================================================
■繰り返しタグ
繰り返し処理を行うタグ。

タグ
<'iterate>
プロパティにjava.util.Listを指定し、繰り返し処理を行う。

属性
prepend
タグの条件が成立した場合に、先頭に付加する内容を記述。
property
[必須]繰り返し処理の対象となるパラメータのプロパティ名(java.util.List)を指定。
open
繰り返し処理のブロックの前につける文字列を指定。
close
繰り返し処理のブロックの終わりにつける文字列を指定。
conjunction
繰り返し処理の間に追加する文字列を指定。
ex.
Listに格納されている値を条件として追加:
<'iterate prepend="AND" open="(" close=")" property="idList" conjunction="OR">
NAME = #nameList[]#
<'/iterate>
==================================================


ref:
http://www.geocities.jp/woodstock_tomo/programing/java/j_ibatis_dms.html
2007-12-10 01:51 : __orm__ibatis : コメント : 0 : トラックバック : 0 :
コメントの投稿
非公開コメント

« next  ホーム  prev »

search

ad



counter


tag cloud

category cloud