[英]Stored procedures call (namedparameterjdbctemplate)
我正在嘗試使用 jdbc 調用存儲過程。 我的連接是通過 namedParameterJdbcTemplate 傳遞的,這就是我必須使用的來調用它,但是當我嘗試這樣做時:
public void storedProcedure(long fileId, String Action) {
String sql = "call procedureName(?)";
try {
namedParameterJdbcTemplate.update(sql, Long.valueOf(fileId) );
} catch (Exception e) {
logger.error("Error while running stored procedure {}", sql, e);
}
}
我收到以下錯誤:
無法解析方法“更新(java.lang.String,java.lang.Long)”
我試過查看但無法使其工作的來源:
他們中的大多數人從一開始就創建了一個連接,但我已經有了它(namedParameterJdbcTemplate),還有一些正在使用我不需要的數據源,因為我已經有了連接。
如何使用 namedParameterJdbcTemplate 進行調用?
謝謝
這是它的工作原理:
final String sql = "call procedureName (:variable)";
SqlParameterSource namedParameters = new MapSqlParameterSource("variable", variable);
try {
namedParameterJdbcTemplate.update(sql, namedParameters);
} catch (Exception e){
...
}
你的語法看起來不對。 使用 NamedParameterJdbcTemplate 調用 update 時,需要使用這兩個方法簽名中的任何一個調用該方法。
update(String sql, Map<String,?> paramMap)
或者
update(String sql, SqlParameterSource paramSource)
進一步的例子 - https://netjs.blogspot.com/2016/11/insert-update-using-namedparameterjdbctemplate-spring.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.