1. 程式人生 > >Mybatis中動態sql中trim標簽的使用

Mybatis中動態sql中trim標簽的使用

bat fix 打印 第一個 屬性 其中 紅色 span pre

trim是一個格式化的標記,可以完成set或者where標記的功能。 trim屬性: prefix:前綴覆蓋並增加其內容 suffix:後綴覆蓋並增加其內容 prefixOverrides:前綴判斷的條件 suffixOverrides:後綴判斷的條件 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為:update user set name=‘xx‘ , gender=‘xx‘
where id=‘x‘   在紅色標記的地方不存在逗號,而且自動加了一個set前綴和where後綴,上面三個屬性的意義如下,其中prefix意義如上:   suffixoverride:去掉最後一個逗號(也可以是其他的標記,就像是上面前綴中的and一樣)   suffix:後綴

Mybatis中動態sql中trim標簽的使用