如何传递参数来查询?我试图为我的应用程序编写一个查询,但我遇到了一些问题。我需要将数据库中的一个字段作为参数传递,例如: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
提交
取消