Oracle12c--利用Java调用子程序(四十六)
来源:互联网 发布:王欣认罪 知乎 编辑:程序博客网 时间:2024/06/12 00:58
- 准备工作
- 为了方便Java调用,创建一个简单的过程,mldn_proc
DROP PROCEDURE mldn_proc ;
CREATE OR REPLACE PROCEDURE mldn_proc (p1 IN NUMBER , p2 IN OUT NUMBER , p3 OUT NUMBER) AS
BEGIN
p2 := 20 ; --设置p2的内容为20
p3 := 30 ; --设置p3的内容为30
END ;
/
- 查询此过程信息
SELECT * FROM user_source WHERE name='MLDN_PROC' ;
- 利用JDBC中的CallableStatement接口实现子程序的调用
- 示例代码:
package cn.mldn.demo;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Types;
public class ProcDemo {
//定义Oracle的数据库驱动程序
public static final StringDBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
//定义Oracle数据库的连接地址
public static final StringDBURL = "jdbc:oracle:thin:@localhost:1521:MLDN" ;
// Oracle数据库的连接用户名
public static final StringDBUSER = "c##scott" ;
// Oracle数据库的连接密码
public static final StringDBPASS = "tiger" ;
public static void main(String[] args)throws Exception {
Connection conn =null ; // 数据库连接
CallableStatement cstmt =null ; // 数据库操作
String sql ="{CALL mldn_proc(?,?,?)}" ;// 调用过程
Class.forName(DBDRIVER) ;// 加载驱动程序
//连接MySQL数据库时,要写上连接的用户名和密码
conn = DriverManager.getConnection(DBURL,DBUSER, DBPASS);
cstmt = conn.prepareCall(sql) ;// 实例化对象
cstmt.setInt(1, 70) ;// 设置第一个参数是70
cstmt.setInt(2, 80) ;// 设置第一个参数是80
cstmt.registerOutParameter(2, Types.INTEGER) ;// 设置返回值类型
cstmt.registerOutParameter(3, Types.INTEGER) ;// 设置返回值类型
cstmt.execute() ;// 执行存储过程
System.out.println("INOUT的返回值:" + cstmt.getInt(2));
System.out.println("OUT的返回值:" + cstmt.getInt(3));
cstmt.close() ;// 操作关闭
conn.close() ;// 数据库关闭
}
}
效果:
INOUT的返回值:20
OUT的返回值:30
- Oracle12c--利用Java调用子程序(四十六)
- java调用oracle12c数据库
- Oracle12C--子程序(三十九)
- Oracle12C--查询子程序(四十)
- Oracle12c--子程序权限(四十五)
- Oracle12C--子程序的嵌套(四十二)
- 调用子程序
- Oracle12C--重载包中的子程序(五十)
- 【按键精灵】sub子程序、调用子程序
- COBOL子程序调用
- COBOL子程序调用
- 子程序调用语句
- 汇编语言-子程序调用
- 汇编语言--如何调用子程序
- CMD 调用子程序&从子程序返回
- 中断调用与子程序调用
- java链接oracle12c
- java连接oracle12c
- Oracle12C--NOCOPY选项(四十三)
- prevent jar from decompiling by golang solution
- Oracle12c--自治事务(四十四)
- Oracle12c--子程序权限(四十五)
- [LeetCode] 173. Binary Search Tree Iterator
- Oracle12c--利用Java调用子程序(四十六)
- SQL Server 2012建立链接服务器
- Java虚拟机--一段Java程序的生命史(二十三)
- 详解C++项目中的extern "C" {}
- React技术栈进阶之路之设计模式篇
- 学习的步伐(四) Kotlin 基础语法学习总结:操作符
- 常用的hibernate内置主键生成器说明
- 网络视频播放器
- POJ1511---Invitation Cards (最短路:邻接表+2次spfa)