JDBC 调用 子程序 ——函数及过程
例:使用JDBC调用我的前一篇文章中包pg_demo1下面的pro_add过程。
代码及执行结果如下:
JDBC获取数据库连接的操作不在此阐述,获取连接后通过prepareCall(String sql)获得Callable Statement 。这个Statement是用来调用数据库子程序的,其中参数sql的语法是{call 包名.子程序(参数列表)}或者{?=call 包名.子程序(参数列表)},即50行代码可以写成如下形式:
设置占位符参数与JDBC执行sql一样,不再多说。注意的是这里需要注册返回值的返回值类型,如代码57行所示。执行成功后再get第三个占位符的数据即是返回值。函数的调用与过程一致,不在此解释。
【子程序的代码参见我的上一篇文章:重拾PL/SQL语句块(十)】
JDBC调用 游标
例:使用JDBC调用我的前一篇文章中包pg_demo1下面的pro_testRef过程来测试游标。
代码及执行结果如下:
这里拿到数据库连接后也是通过prepareCall(String sql)获得CallableStatement,不过需将其强转成OracleCallableStatement。与前面相同也是需要注册返回值类型,游标中的数据会在 Java 代码执行后存入数据集中,再在Java中遍历操作即可。
今天关于JDBC简单的调用PLSQL中子程序、游标就先讲到这里。关于JDBC部分详细的API可以参见JDK,其中OracleTypes、OracleCallableStatement都是来自ojdbc的jar包。
【再会,下期见】