MyBatisのtrimとprefixOverrides
MyBatisのtrimとprefixOverridesの使い方についてです。
trimはよくwhere句で使われます。
以下、記述例です。
<trim prefix="WHERE" prefixOverrides="AND |OR ">
AND COLUMN1 = '01'
</trim>
prefixOverrides属性にはパイプで区切られたオーバーライド対象の文字列を指定します。ここではスペースにも意味があります。
trim 要素のprefixOverrides属性のリストに含まれる文字列が先頭にあった場合は削除され、prefix 属性で指定された文字列は結果が空でない場合先頭に挿入されます。
上記の場合は以下のようなSQLになります。
WHERE COLUMN1 = '01'
その他、suffix属性もあります。suffixで指定した文字列は</trim>タグの部分で出力されます。
以下、記述例です。
<trim prefix="AND (" prefixOverrides="OR" suffix=")">
<if test="search.key1 == 1">
OR T1.COLUMN1 = 'A'
</if>
<if test="search.key2 == 1">
OR T1.COLUMN1 = 'B'
</if>
<if test="search.key3 == 1">
OR T1.COLUMN1 = 'C'
</if>
<if test="search.key4 == 1">
OR T1.COLUMN1 = 'X'
</if>
</trim>
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント