動態SQL語句

2021-09-26 22:19:51 字數 1596 閱讀 9638

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