关于JDBC使用命名参数(named parameters)进行存储过程调用的问题
使用命名参数(named parameters)进行存储过程调用, 会使代码更具可读性,参数的设置也更灵活。
JDBC 通过 DatabaseMetaData.supportsNamedParameters() 方法来确认驱动程序和 RDMS 是否支持命名参数。
如果支持,那么我们在代码里就可以用
CallableStatement.setInt(String, int) 方法来代替 CallableStatement.setInt(int, int)方法 来设置存储过程参数,CallableStatement.setInt(String, int)方法用的就是我们所说的命名参数。
注:sql2000 不支持命名参数的调用, sql2005 支持。
另:
如果存储过程要新加参数,为了提高系统的兼容性,强烈建议新加的存储过程参数放在原有参数的后面,并且提供默认值。否则,以前的程序可能会运行不正常。
参阅:
http://zhang-yingjie-qq-com.javaeye.com/blog/327422