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

2022-09-15 16:45:11 字數 1255 閱讀 1271

trim標記是乙個格式化的標記,可以完成set或者是where標記的功能,如下**:

1、select * from user 

0"> and name=#

0"> and gender=#

假如說name和gender的值都不為null的話列印的sql為:select * from user where    name = 'xx' and gender = 'xx'

在紅色標記的地方是不存在第乙個and的,上面兩個屬性的意思如下:

prefix:字首      

prefixoverride:去掉第乙個and或者是or

2、update user

0"> name=# ,

0"> gender=# ,  

假如說name和gender的值都不為null的話列印的sql為:update user set name='xx' , gender='xx'     where id='x'

在紅色標記的地方不存在逗號,而且自動加了乙個set字首和where字尾,上面三個屬性的意義如下,其中prefix意義如上:

suffixoverride:去掉最後乙個逗號(也可以是其他的標記,就像是上面字首中的and一樣)

suffix:字尾

trim標記是乙個格式化的標記,可以完成set或者是where標記的功能,如下**:

1、select * from user 

0"> and name=#

0"> and gender=#

假如說name和gender的值都不為null的話列印的sql為:select * from user where    name = 'xx' and gender = 'xx'

在紅色標記的地方是不存在第乙個and的,上面兩個屬性的意思如下:

prefix:字首      

prefixoverride:去掉第乙個and或者是or

2、update user

0"> name=# ,

0"> gender=# ,  

假如說name和gender的值都不為null的話列印的sql為:update user set name='xx' , gender='xx'     where id='x'

在紅色標記的地方不存在逗號,而且自動加了乙個set字首和where字尾,上面三個屬性的意義如下,其中prefix意義如上:

suffixoverride:去掉最後乙個逗號(也可以是其他的標記,就像是上面字首中的and一樣)

suffix:字尾

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...