如何在註解式sql中寫入動態的SQL語句

2021-08-15 21:27:08 字數 1138 閱讀 6457

@select("select user_id " +

" from sp_user_relation where up_user_id=# or user_id=#")

@results()

listgetid(string userid);

這樣子寫死後不之如何才能寫成動態,便去網上查詢,發現如下寫法:動態sql(建立乙個類生成sql)

但是發現這樣子太麻煩了,便找尋其他方式,功夫不負有心人,真被我找到了,話不多說,上**:

@select("")

@results()

listgetabloud(@param("name")string name,@param("phone")string phone);

這段**也是用了註解式sql,在其中用script標籤包圍,然後像xml語法一樣書寫;

其中動態sql處使用 if 標籤做判斷

注:

@param 標籤用於 傳入值 用 標籤括號裡的引數接收,然後在放入sql中運用
測試成功了,可是如果多條資料判斷則出現另乙個問題,if內要判斷多次,並且多引數中的逗號不好確定,這是絕不可取的,然後我又找到乙個標籤解決了:

**如下

@select("")

@results()

listgetabloud(@param("name")string name,@param("phone")string phone);

這次使用了標籤,省去了之前很長的判斷,

節點標籤:

trim主要功能是可以在trim包含的內容前加上某些字首(prefix),也可以在trim包含的內容之後加上某些字尾(suffix)

還可以把trim包含內容的首部的某些內容忽略掉(prefixoverrides),也可以把trim包含的內容的尾部的某些內容忽略掉(suffixoverrides),

使用了這個標籤後,之前的問題變很輕鬆的解決了.

注:

***x
之前我在這段標籤前加乙個 if 標籤包含這段代嗎,應為擔心 標籤中為空 但sql 會加 order by 但經測試後發現標籤內容為空則presfix值不會自動新增 

如何在EXCEL SHEET中 動態新增控制項

excel sheet中如何新增下拉框或者 文字框,命令按鈕?下面的方法就可以 1 新建worksheet 2 開啟visiual basic編輯器 3 選擇sheet1 的worksheet selectionchange 事件 4 編寫 如下 private sub worksheet sele...

如何在程式中動態設定牆紙

大家都知道設定windows桌面牆紙的win32 api是systemparametersinfo,使用spi setdeskwall 引數便能設定牆紙 systemparametersinfo spi setdeskwall 0,c abitmap.bmp spif sendwininichang...

如何在EXCEL SHEET中 動態新增控制項

excel sheet中如何新增下拉框或者 文字框,命令按鈕?下面的方法就可以 1 新建worksheet 2 開啟visiual basic編輯器 3 選擇sheet1 的worksheet selectionchange 事件 4 編寫 如下 private sub worksheet sele...