MyBatisダイナミックSQLにおけるtrimラベルの使用方法


trimマークはフォーマットされたマークで、setまたはwhereマークの機能は以下のコードになります。
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のトリムラベルの使い方です。皆さんに助けてほしいです。もし何か疑问がありましたら、メッセージをください。小编はすぐに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。