程序员开发实例大全宝库

网站首页 > 编程文章 正文

Java中使用JDBC的方式调用PLSQL语句块中的子程序、游标

zazugpt 2024-09-04 22:30:14 编程文章 21 ℃ 0 评论

JDBC调用子程序——函数及过程

例:使用JDBC调用我的前一篇文章中包pg_demo1下面的pro_add过程。

代码及执行结果如下:

JDBC调用PLSQL包中的子程序

JDBC获取数据库连接的操作不在此阐述,获取连接后通过prepareCall(String sql)获得CallableStatement。这个Statement是用来调用数据库子程序的,其中参数sql的语法是{call 包名.子程序(参数列表)}或者{?=call 包名.子程序(参数列表)},即50行代码可以写成如下形式:

CallableStatement cstmt = conn.prepareCall("{?=call pg_demo1.pro_add(?,?,?)}");

其中第一个占位符?表示返回值占位符

设置占位符参数与JDBC执行sql一样,不再多说。注意的是这里需要注册返回值的返回值类型,如代码57行所示。执行成功后再get第三个占位符的数据即是返回值。函数的调用与过程一致,不在此解释。

【子程序的代码参见我的上一篇文章:重拾PL/SQL语句块(十)】

JDBC调用游标

例:使用JDBC调用我的前一篇文章中包pg_demo1下面的pro_testRef过程来测试游标。

代码及执行结果如下:

JDBC调用PLSQL包中的游标

这里拿到数据库连接后也是通过prepareCall(String sql)获得CallableStatement,不过需将其强转成OracleCallableStatement。与前面相同也是需要注册返回值类型,游标中的数据会在Java代码执行后存入数据集中,再在Java中遍历操作即可。

今天关于JDBC简单的调用PLSQL中子程序、游标就先讲到这里。关于JDBC部分详细的API可以参见JDK,其中OracleTypes、OracleCallableStatement都是来自ojdbc的jar包。


【再会,下期见】

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表