Mybatis基礎知識點 trim標籤的使用

2022-03-10 21:38:54 字數 1523 閱讀 3164

mybatis的trim標籤一般用於去除sql語句中多餘的and關鍵字,逗號,或者給sql語句前拼接 「where「、「set「以及「values(「 等字首,或者新增「)「等字尾,可用於選擇性插入、更新、刪除或者條件查詢等操作。

以下是trim標籤中涉及到的屬性:

下面使用幾個例子來說明trim標籤的使用。

有這樣的乙個例子:

resulttype="blog">select *from blog 

where

state =#

if>

and title like #

if>

and author_name like #

if>

如果這些條件沒有乙個能匹配上會發生什麼?最終這條 sql 會變成這樣:

select *from blog

where

這會導致查詢失敗。如果僅僅第二個條件匹配又會怎樣?這條 sql 最終會是這樣:

select *from blog

where

and title like 『sometitle』

你可以使用where標籤來解決這個問題,where 元素只會在至少有乙個子元素的條件返回 sql 子句的情況下才去插入「where」子句。而且,若語句的開頭為「and」或「or」,where 元素也會將它們去除。

resulttype="blog">select *from blog 

state =#

if>

and title like #

if>

and author_name like #

if>

trim標籤也可以完成相同的功能,寫法如下:

state =#

if>

and title like #

if>

and author_name like #

if>

有如下的例子:

如果紅框裡面的條件沒有匹配上,sql語句會變成如下:

insert into role(role_name,) values(rolename,)

插入將會失敗。

使用trim標籤可以解決此問題,只需做少量的修改,如下所示:

其中最重要的屬性是

suffixoverrides=","
表示去除sql語句結尾多餘的逗號.

blog.csdn.net/wt_better/article/details/80992014

基礎知識點

1 inline block布局 2 table布局 3 justify的末行不對齊 4 兩個圖示之間有空格 換行 5 背景中的的 路徑的 全部斜槓都為 不是 命令列下的這種 doctype html html head meta charset utf 8 title xx title head ...

erlang基礎知識點

1 變數是不可改變的,必須以首字母大寫開頭 2 字串就是小寫字母,或者單引號引起來的字串 3 賦值可以使用匹配模式 4 資料結構有元組,取值用匹配模式來取值 就能取到x,b的值 5 資料結列表 ss,aa,取值是用 head foot 的形式取值 頭和尾的形式匹配 6 字串只能用雙引號表示 7 函式...

ios基礎知識點

1.記憶體管理 用記憶體引用計數來進行管理 alloc,retain,copy會使記憶體引用計數立即 1 當物件使用結束後要對它進行釋放 release 立即 1 autorelease 未來 1 autorelease的物件會把這個物件放置到離它最近的自動釋放池裡,自動釋放池釋放的時候才會把自動釋...