- 浏览: 3906 次
- 性别:
- 来自: 上海
-
最新评论
-
kongfwy:
这个没考虑到in out类型的参数,如果调用的存储过程里有这类 ...
JAVA 执行存储过程(和参数顺序无关,适用oracle数据库)
文章列表
通常jdbc调用oracle存储过程的输入输出参数都是按顺序,和java端的参数名称没关系,这样当存储过程修改参数时不是非常方便,字段一旦多的话容易错位,这类问题的排查效率也很低,所以想看看有没有办法java端的key值能和sql的参数名称匹配起来。后来发现pl/sql可以用“参数名=>参数值”的方式调用存储过程。java端的DatabaseMetaData 类也有getProcedureColumns可以得到所有的输入输出参数,这样我的想法就可以通过这两点得以实现。以下就是输入和放回都是map的调用存储过程的方法:
/**
* 执行存储过程(和参数顺序无关)
* @par ...