MyBatisダイナミックSQLにおけるtrimラベルの使用方法
trimマークはフォーマットされたマークで、setまたはwhereマークの機能は以下のコードになります。
1、
赤いマークのところに最初のandが存在しないので、上の二つの属性の意味は以下の通りです。
prefix:プレフィックス
prefixoverride:最初のandまたはorを除く。
2、
赤いマークのところにはカンマがありません。そして自動的にsetプレフィックスとwhere拡張子を付けました。上の3つの属性の意味は以下の通りです。ここでprefixは上のような意味があります。
suffixoverride:最後のカンマを外します。(他のマークでもいいです。上のプレフィックスのandのように)
スフィクス:サフィックス
以上は小编でご绍介したMyBatisダイナミックSQLのトリムラベルの使い方です。皆さんに助けてほしいです。もし何か疑问がありましたら、メッセージをください。小编はすぐに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。
1、
select * from user
<trim prefix="WHERE" prefixoverride="AND |OR">
<if test="name != null and name.length()>0"> AND name=#{name}</if>
<if test="gender != null and gender.length()>0"> AND gender=#{gender}</if>
</trim>
nameとgenderの値がnullでないと印刷するSQLは、select*from user whereです。 name='xx'and gender='xx'赤いマークのところに最初のandが存在しないので、上の二つの属性の意味は以下の通りです。
prefix:プレフィックス
prefixoverride:最初のandまたはorを除く。
2、
update user
<trim prefix="set" suffixoverride="," suffix=" where id = #{id} ">
<if test="name != null and name.length()>0"> name=#{name} , </if>
<if test="gender != null and gender.length()>0"> gender=#{gender} , </if>
</trim>
nameとgenderの値がnullでないとプリントされるSQLは、udate user set name='xx'であり、gender='xx'である。 where id='x'赤いマークのところにはカンマがありません。そして自動的にsetプレフィックスとwhere拡張子を付けました。上の3つの属性の意味は以下の通りです。ここでprefixは上のような意味があります。
suffixoverride:最後のカンマを外します。(他のマークでもいいです。上のプレフィックスのandのように)
スフィクス:サフィックス
以上は小编でご绍介したMyBatisダイナミックSQLのトリムラベルの使い方です。皆さんに助けてほしいです。もし何か疑问がありましたら、メッセージをください。小编はすぐに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。