MyBatis動態SQL語句

2022-03-16 12:22:43 字數 1511 閱讀 9221

關鍵字

ifwhere

trim

foreach

set【if】如果傳入的p1 不為空, 那麼才會sql才拼接id = #。

【where】mybatis的where標籤是對sql語句做了處理,當它遇到and或者or這些,where自己就給處理了。

select * from test t 

and username like #

and password like #

@test

public void selectmany2()

}

【trim】where後緊隨and或則or的時候,就去除and或者or。prefix為trim語句之前新增的內容,prefixoverrides 指的是忽略字首""內的內容 ,如果有的話;同理,suffix:字尾覆蓋並增加其內容;  suffixoverrides:字尾判斷的條件

select * from test t 

and username like #

and password like #

【foreach】foreach類似於for迴圈,foreach語句中的item標籤代表別名,collection標籤代表傳遞過來的資料集合的名字,open為foreach的語句之前新增上的內容,separator為每次foreach迴圈用其進行間隔開,close對應open,是結尾新增的內容。

select * from test t 

t.username in

#

public void selectmany3()

}

【set】set標籤可以理解為sql語句中進行修改update的時候進行的set語句修改

update test t 

username=#,

password=#,

where id=#

public void update1()
【oracle實現分頁效果】

select * from 

select a.*,rownum rn from

select * from test t order by t.id desc

b.rn between # and #

/**

* 實現分頁效果

*/public void select()

}

mybatis 動態SQL語句

一 concat字串拼接 1.sql中字串拼接 select from tablename where name like concat concat 2.使用 代替 select from tablename where name like 解析過來的引數值不帶單引號,解析傳過來引數帶單引號。二 ...

Mybatis動態sql語句

finduserbycondition resultmap usermap select from user test username null and username if test user null and if where select 元素只會在子元素有返回內容的時候才會插入where...

mybatis框架 動態SQL語句)

1.實現動態的sql語句 2.掌握的分頁 3.mybatis的常用的配置。動態sql語句。1.動態sql 在sql語句中加入流程控制。比如加入if,foreach等。重點掌握if語句 案例1 更新 update userinfo set username userpwd useremail user...