PreparedStatement 中的存储过程参数名称而不是参数索引?
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
对象等
JDBC 不支持命名参数。如果您使用 Spring,我建议使用 Spring JDBC 模板 NamedParameterJdbcTemplate。它可以在没有整个 IoC 容器的情况下使用。
你为什么要使用 PreparedStatement..你可以使用 CallableStatement 调用存储过程,Callable Statement 提供了通过参数名称设置值的选项...
现在,当我在 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
对象等
JDBC 不支持命名参数。如果您使用 Spring,我建议使用 Spring JDBC 模板 NamedParameterJdbcTemplate。它可以在没有整个 IoC 容器的情况下使用。
你为什么要使用 PreparedStatement..你可以使用 CallableStatement 调用存储过程,Callable Statement 提供了通过参数名称设置值的选项...