如何傳遞參數來查詢?我試圖為我的應用程序編寫一個查詢,但我遇到了一些問題。我需要將數據庫中的一個字段作為參數傳遞,例如:SELECT name, phone, email
FROM company
WHERE $P{clause} = $P{key}ORDER BY $P{order}因為WHERE子句和ORDERBY子句是動態的,用戶可以選擇。使用$P{}沒用的。
2 回答

qq_花開花謝_0
TA貢獻1835條經驗 獲得超7個贊
$P{}
$P!{}
.
$P{parame}語法
主要用于設置 哪里
輸入參數值。替換算法是“智能”的,它的實現使用 *為 java.lang.String
參數,引擎將替換 $P{參數名}
有報價, java.lang.Integer
-數值等等。
| Parameter name | Parameter type | Parameter value | |:---------------|-------------------|:---------------:| | eventName | java.lang.String | Olympic Games | | eventType | java.lang.Integer | 2 |
SELECT startDate, endDate, rating FROM events WHERE name=$P{eventName} AND type=$P{eventType}
SELECT startDate, endDate, rating FROM events WHERE name='Olympic Games' AND type=2
$P!{parame}語法
主要用于做“簡單”替換。
| Parameter name | Parameter type | Parameter value | |:---------------|------------------:|:---------------:| | tableName | java.lang.String | events | | eventName | java.lang.String | Olympic Games | | channel | java.lang.String | 'BBC' | | type | java.lang.String | sport |
SELECT startDate, endDate, rating FROM $P!{tableName} WHERE name='$P!{eventName}' AND channel=$P!{channel} AND type=$P!{type}
SELECT startDate, endDate, rating FROM events WHERE name='Olympic Games' AND channel='BBC' AND type=sport
獲取更多信息
SELECT name, phone, email FROM company WHERE $P!{clause} = $P{key} ORDER BY $P!{order}
SELECT name, phone, email FROM company WHERE $P!{clause} = $P!{key} ORDER BY $P!{order}

海綿寶寶撒
TA貢獻1809條經驗 獲得超8個贊
SELECT name, phone, email ,(case when $P{order} = 'name' then name when $P{order} = 'phone' then phone else email end) as orderlistFROM company WHERE $P{clause} = $P{key}ORDER BY orderlist
添加回答
舉報
0/150
提交
取消