存储过程是存储在数据库中的一个访问数据库的程序代码,一个存储过程对象提供了一种访问所有关系型数据库的存储过程的方法。
一个CallableStatement对象中包含了对一个存储过程的调用,这种调用可以用2种形式表式:一个形式是用一个结果参数,另一种形式则不用结果参数。结果参数指的是OUT参数,就是存储过程返回的值。
在JDBC开发中,可以通过调用DatabaseMeta对象的方法来检验数据库是否支持存储过程。方法supportsStoreProcedures会检测数据库系统是否支持存储过程,使用这个方法并对其返回的结果进行判断,如返回true,那么支持存储过程,否则不支持。而方法getProcedures会返回所有可用的存储过程的描述。
1、CallableStatement对象的创建







2、 IN、OUT 及 INOUT参数的引用
CallableStatement对象可以使用3种类型的参数:IN, OUT, INOUT。参数可以通过参数名来指定也可以通过参数的序号来指定,对每一个语句中的参数都要赋值,否则就不能执行。
一个存储过程中的参数数目、类型和属性可以通过DatabaseMetaData的getProcedureColumn方法来获得。
被传递到CallableStatement中的参数的序号是按照statement中"?"的顺序而确定的,如果存在文字参数,不计算文字参数,如:


