動態sql語句:
1.if 條件
2.choose,where 和 otherwise 條件
3.where 條件
4.trim 條件
5.foreach 迴圈
6.set 條件
7.bind
if:有條件的包含where子句的一部分;比如:
select * from blog
where state = 『active』
and title like #
choose、when、otherwise,例子如下:
select * from blog where state = 『active』
and title like #
and author_name like #
and featured = 1
where:例子如下:
select * from blog
state = #
and title like #
and author_name like #
trim 屬性
trim和where有點相似,只是使用規則稍微麻煩點;
prefix:字首覆蓋並增加其內容
suffix:字尾覆蓋並增加其內容
prefixoverrides:字首判斷的條件
suffixoverrides:字尾判斷的條件
suffix針對符合suffixoverrides的sql語句追加字尾suffix值;prefix是針對符合preffixoverrides的語句新增字首suffix值;
set,可以被用於包含需要更細的列,而捨棄其他的列。
update author
username=#,
password=#,
email=#,
bio=#
where id=#
foreach:
功能:向sql傳遞陣列或是list;
引數、屬性:
collection,指定輸入物件中的集合屬性;
item,表示集合中每乙個元素進行迭代時的別名;
index,指定乙個名字,表示在迭代過程中,每次迭代到的位置;
open,表示該語句什麼時候開始;
separator,表示每次迭代過程中以什麼符號分割;
close,表示以什麼結束;
重點說一下collection屬性,當傳入的引數是乙個list的時候,其屬性是list;如果傳入引數是乙個array陣列的時候,其屬性是array;
如果傳入的引數是多個的時候,需要封裝成乙個map。
select *
from post p
where id in
#
動態SQL語句
動態使用sql語句的幾點技巧 動態sql語句,就是sql語句中引數會變化的sql語句,一般在程式中要根據使用者的需要隨時改變其引數值,對於動態sql語句必須注意以下幾點 先呼叫close方法,關閉query元件。如果query元件已經關閉,呼叫close方法不會出錯,也沒有其它影響。再呼叫clear...
動態SQL語句
dao的方法 update的配置方法 使用update標籤和set標籤實現動態生成sql語句 當nickname,birthday,email,pic屬性不為空,而且不為空串,則設定值 步驟在resources目錄下建立資料夾,注意 資料夾不是點號,而是斜槓。在目錄下建立userdao.xml配置檔...
動態SQL語句
動態sql語句 if標籤 例子 select from product where name like concat where標籤 標籤會進行自動判斷 如果任何條件都不成立,那麼就在sql語句裡就不會出現where關鍵字 如果有任何條件成立,會自動去掉多出來的 and 或者 or。例子 selec...