[英]Stored Procedures with JSTL's <sql:query> tag
我在學校了解到,您可以使用JSP和JSTL-SQL標記庫在MySQL數據庫上執行查詢。
為此,我寫:
<sql:query var="results" dataSource="${datasource}"> SELECT * FROM table WHERE name='xy' </sql:query>
現在,我必須在MySQL InnoDB數據庫上執行一個存儲過程( COUNT(*)
, SUM(datafield)
,...)。
有沒有辦法做到這一點,並用sql標記讀取結果?
順便說一句:我知道我可以使用${results.rowCount}
來讀取查詢命令返回的數據/記錄的數量。 但是我總是使用一個查詢命令( LIMIT a, n
)獲得有限數量的記錄,並且想要計算數據庫中有多少記錄,而不必讀取所有記錄並將其保存在變量中。
將select語句放入JSTL查詢中可能很容易,因為它無需存儲過程即可為您提供所需的結果,除非出於某種原因需要使用sproc。 這似乎很簡單。 關鍵是要確保在查詢中使用AS分配,以便可以使用JSTL引用要引用的值。
<sql:query var="results" dataSource="${datasource}">
SELECT COUNT(field) AS count, SUM(otherField) AS sum FROM table WHERE name='xy'
</sql:query>
<c:forEach items="${results.rows}" var="result">
${result.count} : ${result.sum}
</c:forEach>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.