![](/img/trans.png)
[英]How to use JDBC4PreparedStatement with a MySQL stored procedure expecting an OUT parameter?
[英]Stored procedure parameter names in a PreparedStatement instead of parameter indexes?
現在,當我在PreparedStatement
調用存儲過程時,必須將參數添加到CallableStatement
如下所示:
procStmt.setString(1, "a");
procStmt.setString(2, "b");
procStmt.setString(3, "c");
// etc...
一旦您正在調用的存儲過程中有大約50個以上的參數,並且不需要全部,那么這將變得非常繁瑣。 有沒有辦法像這樣做:
procStmt.setString("myParameter", "a");
procStmt.setString("yourParameter", "b");
procStmt.setString("ourParameter", "c");
// etc...
這樣,參數就直接傳遞給需要它們的參數,而您不必擔心通過參數發送的順序或發送空String
對象等的String
。
JDBC不支持命名參數。 如果您使用的是Spring,則建議使用Spring JDBCTemplate NamedParameterJdbcTemplate 。 它可以在沒有整個IoC容器的情況下使用。
為什么要使用PreparedStatement ..您可以使用CallableStatement調用存儲過程,而Callable Statement提供了通過參數名稱設置值的選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.