mybatis動態sql中的trim標籤的使用

2021-10-10 07:33:34 字數 2334 閱讀 8781

trim標記是乙個格式化的標記,可以完成set或者是where標記在xml檔案當中的功能

總結:

trim標籤  拼接字串

prefixoverrides:去掉拼串後的字串的第乙個字首 一般是 and 或 or

suffixoverrides:去掉拼串後字串的最後乙個字尾 一般是 and 或 or

set標籤:在更新中使用,可以去除多餘的逗號

具體看**解釋:

查詢的情況:

"findbyemptrim" parametertype=

"employee" resulttype=

"employee"

>

select * from tbl_employee

"where" prefixoverrides=

"and | or" suffixoverrides=

"and | or"

>

<

if test=

"id!=null and id!=''"

>

and id=#

>

<

if test=

"lastname!=null and lastname!=''"

>

and last_name like #

>

<

if test=

"email!=null and email!=''"

>

and email like #

>

<

if test=

"gender!=null and gender!=''"

>

and gender = # and

>

<

/trim>

<

/select>

首先我們需要知道要拼接的字串是什麼 ,要拼接的字串,也就是標籤當中所有條件的拼接

and id=#  and last_name like # and email like # and gender = # and
如果我們需要將這些這些條件帶上,就需要去掉以上拼接字串的第乙個 and 字首 和最後乙個 and 字尾,同時也要帶上 where

執行列印的sql

select * from tbl_employee where id=

? and last_name like ? and email like ? and gender =

?

更新的情況:

"updatebyemptrim"  parametertype=

"employee"

>

update tbl_employee

"set" suffix=

"where id = #" suffixoverrides=

",">

<

if test=

"lastname!=null and lastname!=''"

>

last_name = #

,>

<

if test=

"email!=null and email!=''"

>

email = #

,>

<

if test=

"gender!=null and gender!=''"

>

gender = #

,>

<

/trim>

<

/select>

要拼接的字串,也就是標籤當中所有條件的拼接

last_name = #

,email = #

,gender = #

,

我們要實現更新功能,就需要在拼接字串的最前面加上乙個set 和去掉拼接字串最後乙個字尾』,』 然後加上where 查詢條件

執行列印的sql

update tbl_employee set last_name =

?, email =

?, gender =

? where id =

?

mybatis中的動態sql

if元素用法 select id role name as rolename note from t role where id and role name like concat choose when othersize元素用法 這三個元素充當了switch語句 select role no,r...

mybatis中的動態SQL

動態sql的基本元素 if 單條件分支判斷 choose,when,otherwise 多條件分支判斷 trim,set,where 用於處理sql拼裝問題 foreach 迴圈語句 bind 定義乙個上下文變數 test 用於判斷條件是否成立 if條件判斷語句 當角色名稱不為空時,根據角色名稱查詢...

mybatis動態sql中foreach標籤的使用

foreach標籤主要用於構建in條件,他可以在sql中對集合進行迭代。如下 delete from user where id in 我們假如說引數為 int ids 那麼列印之後的sql如下 delete form user where id in 1,2,3,4,5 釋義 collection...