使用過trim標籤都知道trim標籤有四個屬性
1.prefix,prefixoverrides,suffix,suffixoverrides
本人一直對這四個標籤的名字無法理解,並對其功能感到混亂。下面是自己思考後的一些總結:
trim標籤使用例如:1、trim 有四個屬性
2、prefix,suffix 表示在trim標籤包裹的部分的前面或者後面新增內容(注意:是沒有prefixoverrides,suffixoverrides的情況下)
3、如果有prefixoverrides,suffixoverrides 表示覆蓋overrides中的內容。
4、如果只有prefixoverrides,suffixoverrides 表示刪除。
"testtrim" parametertype=
"com.mybatis.pojo.user"
>
update user
"set" suffixoverrides=
",">
"cash!=null and cash!=''"
>cash=
#, "address!=null and address!=''"
>address=
#,
id =
#
只有prefix=「set」,表示在trim包裹的部分的前面新增 set。
只有suffixoverrides=「,」,表示刪除最後乙個逗號。
上例也可以寫成
"testtrim" parametertype=
"com.mybatis.pojo.user"
>
update user
set"," suffix=
"where id = #"
>
"cash!=null and cash!=''"
>cash=
#, "address!=null and address!=''"
>address=
#,
由於set寫在了外面,trim中就不再需要prefix屬性了,所以刪除。
where標籤從外面拿進trim裡面,這樣其實可以認為是將最後乙個逗號」,」替換成了where id = #。所以suffix和suffixoverrides一起使用。
總結:
trim標籤的prefix/suffix屬性:如果trim後內容不為空,則增加某某字串(作字首/字尾);trim標籤的prefixoverrides/suffixoverrides屬性:如果trim後內容不為空,則刪掉(字首/字尾的)某某字串。
MyBatis中的trim 標籤 用法
mybatis的trim標籤一般用於去除sql語句中多餘的and關鍵字,逗號,或者給sql語句前拼接 where set 以及 values 等字首,或者新增 等字尾,可用於選擇性插入 更新 刪除或者條件查詢等操作。使用trim標籤去除多餘的and關鍵字 findactivebloglike res...
MyBatis中trim的應用
mybatis動態sql中trim標籤的使用 mybatis 官方文件 對 動態sql中使用trim標籤的場景及效果介紹比較少。事實上trim標籤有點類似於replace效果。trim 屬性 prefix 字首覆蓋並增加其內容 suffix 字尾覆蓋並增加其內容 prefixoverrides 字首...
Mybatis中的trim標籤 總結
mybatis的trim標籤有四種 prefix,prefixoverrides,suffix,suffixoverridestrim標籤使用 1 trim 有四個屬性 2 prefix,suffix 表示在trim標籤包裹的部分的前面或者後面新增內容 注意 是沒有prefixoverrides,s...