快速业务通道

JAVA与Oracle存储过程(一) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

JAVA与Oracle存储过程(一)

时间:2011-01-20 即兴诗人

在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器。在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的。相对来说,数据库系统中的触发器也是一种存储过程。存储过程在数据库中运算时自动生成各种执行方式,因此,大大提高了对其运行时的执行速度。在大型数据库系统如Oracle、SQL Server中都不仅提供了用户自定义存储过程的功能,同时也提供了许多可作为工具进行调用的系统自带存储过程。

所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL 语句集,该SQL语句集经过编译后存储在数据库系统中。在使用时候,用户通过指定已经定义的存储过程名字并给出相应的存储过程参数来调用并执行它,从而完成一个或一系列的数据库操作。

由于J2EE体系一般建立大型的企业级应用系统,而一般都配备大型数据库系统如Oracle或者SQL Server,在本文《JAVA与Oracle存储过程》中将介绍JAVA跟Oracle存储过程之间的相互应用跟相互间的各种调用。

一、JAVA调用Oracle存储过程

JAVA跟Oracle之间最常用的是JAVA调用Oracle的存储过程,以下简要说明下JAVA如何对Oracle存储过程进行调用。

Ⅰ、不带输出参数情况

过程名称为pro1,参数个数1个,数据类型为整形数据

import java.sql. * ; public  class ProcedureNoArgs   { public  static  void main(String args[]) throws Exception {   // 加载Oracle驱动    DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver());   // 获得Oracle数据库连接    Connection conn = DriverManager.getConnection( " jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd " );    // 创建存储过程的对象     CallableStatement c = conn.divpareCall( " {call pro1(?)} " );    // 给Oracle存储过程的参数设置值 ,将第一个参数的值设置成188     c.setInt( 1 , 188 );    // 执行Oracle存储过程     c.execute();   conn.close(); }  } 

Ⅱ、带输出参数的情况

过程名称为pro2,参数个数2个,数据类型为整形数据,返回值为整形类型

import java.sql.*; public class ProcedureWithArgs   { public static void main(String args[]) throws Exception {   //加载Oracle驱动   DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());   //获得Oracle数据库连接   Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd ");   //创建Oracle存储过程的对象,调用存储过程   CallableStatement c=conn.divpareCall("{call pro2(?,?)}");   //给Oracle存储过程的参数设置值 ,将第一个参数的值设置成188   c.setInt(1,188);   //注册存储过程的第二个参数     c.registerOutParameter(2,java.sql.Types.INTEGER);   //执行Oracle存储过程   c.execute();    //得到存储过程的输出参数值并打印出来    System.out.println (c.getInt(2));    conn.close(); } }

以上即是在JAVA中调用Oracle存储过程的最简单的实例,接下来将介绍有关JAVA跟Oracle存储过程的其他方面内容。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号