Java调用Oracle存储过程详细总结

Java调用Oracle存储过程详细总结大数据和人工智能交流 头条号向广大初学者新增 C Java Python Scala javascript 等目前流行的计算机 大数据编程语言 希望大家以后关注本头条号更多的内容

大家好,欢迎来到IT知识分享网。

《大数据和人工智能交流》头条号向广大初学者新增C 、JavaPython 、Scala、javascript 等目前流行的计算机、大数据编程语言,希望大家以后关注本头条号更多的内容。

有如下表结构的:

create table book(

bookId number,

bookName varchar2(50),

publishHouse varchar2(50)

)

建立存储过程

–in代表输入参数,不写默认为in

–out代表输出参数

create or replace procedure book_pro

(bookId in number,bookName in varchar2,publishHouse in varchar2) is

begin

insert into book values(bookId,bookName,publishHouse);

end;

一、java调用存储过程代码:

Class.forName(“
oracle.jdbc.driver.OracleDriver”);// 加载Oracle驱动程序

String url = “jdbc:oracle:thin:@127.0.0.1:1521:ORCL”;

Connection conn=DriverManager.getConnection(url,”system”,”123″);

CallableStatement stm=conn.prepareCall(“{call book_pro(?,?,?)}”);

stm.setInt(1, 1);

stm.setString(2, “笑傲江湖”);

stm.setString(3, “邮电出版社”);

stm.execute();

conn.close();

stm.close();

二、java调用有返回值的存储过程代码:

1、建立带输出的存储过程

create or replace procedure book_pro_out

(sId in number,sName out varchar2) is

begin

select bookname into sName from book where bookId=sId;

end;

相应的java代码

Class.forName(“
oracle.jdbc.driver.OracleDriver”);// 加载Oracle驱动程序

String url = “jdbc:oracle:thin:@127.0.0.1:1521:ORCL”;

Connection conn=DriverManager.getConnection(url,”system”,”123″);

CallableStatement stm=conn.prepareCall(“{call book_pro_out(?,?)}”);

stm.setInt(1, 1);

stm.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR);

stm.execute();

//获取第二个字段的返回值

String sname=stm.getString(2);

System.out.println(sname);

conn.close();

stm.close();

2、有多个参数的存储过程

create or replace procedure book_pro_out

(sId in number,sName out varchar2,spublish out varchar2) is

begin

select bookname,publishhouse into sName,spublish from book where bookId=sId;

end;

相应的java代码:

Class.forName(“
oracle.jdbc.driver.OracleDriver”);// 加载Oracle驱动程序

String url = “jdbc:oracle:thin:@127.0.0.1:1521:ORCL”;

Connection conn=DriverManager.getConnection(url,”system”,”123″);

CallableStatement stm=conn.prepareCall(“{call book_pro_out(?,?,?)}”);

stm.setInt(1, 1);

stm.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR);

stm.registerOutParameter(3, oracle.jdbc.OracleTypes.VARCHAR);

stm.execute();

//获取第二个字段的返回值

String sname=stm.getString(2);

String spublish=stm.getString(3);

System.out.println(sname);

System.out.println(spublish);

conn.close();

stm.close();

Java调用Oracle存储过程详细总结

《大数据和人工智能交流》的宗旨

1、将大数据和人工智能的专业数学:概率数理统计、线性代数、决策论、优化论、博弈论等数学模型变得通俗易懂。

2、将大数据和人工智能的专业涉及到的数据结构和算法:分类、聚类 、回归算法、概率等算法变得通俗易懂。

3、最新的高科技动态:数据采集方面的智能传感器技术;医疗大数据智能决策分析;物联网智慧城市等等。

根据初学者需要会有C语言、Java语言、Python语言、Scala函数式等目前主流计算机语言。

根据读者的需要有和人工智能相关的计算机科学与技术、电子技术、芯片技术等基础学科通俗易懂的文章。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/172920.html

(0)
上一篇 2025-03-09 09:33
下一篇 2025-03-09 10:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信