![](/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.