MyBatis動態SQL中Map引數處理

2021-09-24 17:58:46 字數 417 閱讀 8184

在mybatis中,如果我們需要傳遞兩個引數,有一種方式是通過map作為傳入引數,在動態sql中,我們需要對傳入的map引數中的值進行判斷,然後進行動態sql的條件拼接處理。

假設我們有傳入引數map如下:

map.put("name",name);

map.put("level",level);

對應的,我們有配置檔案如下,可以看到,在test表示式中,我們不用再通過#,$取值符,直接通過鍵值就可以取到map中key所對應的值,如下所示:

select name,age,id from user

where 1 = 1

and name = #

and level= #

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

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

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