`
peng_jian_ming
  • 浏览: 260191 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Java连接Oracle数据库调用存储过程获取数据集

    博客分类:
  • Java
阅读更多
package com.yc.ycportal.ge.util;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import com.mysql.jdbc.ResultSet;

public class TestOracle {

    private Connection conn=null;
    private CallableStatement call=null;
    private ResultSet rs=null;

    public TestOracle() {
      try {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        setConn();
      }
      catch (ClassNotFoundException ex) {
      }
    }

    public void setConn(){
      String url="jdbc:oracle:thin:@localhost:1521:hy";
      try {
        conn = DriverManager.getConnection(url, "system", "manager");
        System.out.println("conn ok");
      }
      catch (SQLException ex) {
      }
    }

    public void closeConn(){
      if(conn!=null){
        try {
          conn.close();
          System.out.println("conn close");
        }
        catch (SQLException ex) {
        }
      }
    }

    //调用单独的具有输出参数的过程
    public void testShuchu(int salary ){
      //实例化cal
      try {
        //cal = conn.prepareCall("{call hr.shuchu(?,?)}");
        call=conn.prepareCall("begin hr.shuchu(?,?); end;");
        call.setInt(1,salary);
        //注册输出参数
        //cal.registerOutParameter(2,java.sql.Types.VARCHAR);
        call.registerOutParameter(2,oracle.jdbc.OracleTypes.VARCHAR);
        call.execute();
        //获得输出参数
       // String str=cal.getString(2);
       String str=(String)call.getObject(2);
       System.out.println(str);
      }
      catch (SQLException ex) {
      }
      finally{
        try {
          call.close();
        }
        catch (SQLException ex1) {
        }
      }

    }

// 调用函数
    public void testHanshu(int num1,int num2){
      try {
        call = conn.prepareCall("begin ?:=hr.mypack.myfunc(?,?); end;");
        call.setInt(2,num1);
        call.setInt(3,num2);
        call.registerOutParameter(1,oracle.jdbc.OracleTypes.NUMBER);
        call.execute();
        int num = call.getInt(1);
        System.out.println(num);
      }
      catch (SQLException ex) {
      }
      finally{
        try {
          call.close();
        }
        catch (SQLException ex1) {
        }
      }

    }

// 调用游标
    public void testRs(int salary){
      try {
        call = conn.prepareCall("begin hr.mypack.shuchu(?,?); end;");
        call.setInt(1,salary);
        call.registerOutParameter(2,oracle.jdbc.OracleTypes.CURSOR);
        call.execute();
        rs=(ResultSet)call.getObject(2);

        if(rs!=null){
          while (rs.next()) {
            System.out.println(rs.getString(2));
          }
        }
        else{
          System.out.println("查无结果");
        }
      }
      catch (SQLException ex) {
      }
    finally{
      try {
        rs.close();
        call.close();
      }
      catch (SQLException ex1) {
      }

    }
    }
    public static void main(String[] args) {
     TestOracle dbUtil1 = new TestOracle();
     dbUtil1.testRs(420);
    }

}
分享到:
评论

相关推荐

    Java连接oracle数据库实现成绩查询

    首先,我们要了解Java与Oracle数据库连接的基础知识。Java中,JDBC(Java Database Connectivity)是连接数据库的标准API,它允许Java应用程序通过编写Java代码来访问数据库。要连接到Oracle数据库,我们需要引入...

    jdbc连接oracle,执行存储过程,带数据库存储过程

    本篇将详细介绍如何使用JDBC连接Oracle数据库并执行存储过程。 首先,我们需要理解JDBC的基本概念。JDBC是Java平台的标准API,它允许Java程序与各种数据库进行通信。通过JDBC,我们可以创建数据库连接、发送SQL语句...

    java调用oracle存储过程返回结果集,Record,cursor参照.pdf

    本文介绍了Java调用Oracle存储过程返回结果集Record和Cursor的相关知识点,包括创建Type、PACKAGE和PROCEDURE,Java代码中调用存储过程,并获取结果集。这些知识点对深入了解Oracle存储过程和Java调用Oracle存储过程...

    Java链接Oracle 存储过程 jdbc BLOG

    在Java编程中,连接Oracle数据库并执行存储过程是常见的任务,尤其在企业级应用中,存储过程被广泛用于实现复杂的业务逻辑和优化数据操作。本文将深入探讨如何使用JDBC(Java Database Connectivity)API来调用...

    Java获取Oracle存储过程返回的Cursor

    在Java编程中,有时我们需要调用Oracle数据库的存储过程,特别是当存储过程返回一个游标(Cursor)时,这种情况在处理大量数据或者分页查询时很常见。游标允许我们逐行处理结果集,而无需一次性加载所有数据,这对于...

    Java连接Oracle数据库 ojdbc6包

    Java连接Oracle数据库是Java开发中的常见任务,Oracle数据库是企业级广泛应用的关系型数据库管理系统。在Java中,我们通常使用JDBC(Java Database Connectivity)API来实现与Oracle数据库的交互。`ojdbc6.jar`是...

    java连接Oracle数据库详解

    本文详细介绍了如何使用Java通过JDBC连接Oracle数据库的过程。从加载驱动程序、建立连接到执行SQL查询以及处理结果集,再到最后的资源释放,每一个步骤都给出了具体的代码示例。掌握了这些基础知识后,开发者可以更...

    java连接Oracle数据库

    Java连接Oracle数据库主要涉及到Java编程语言、Oracle数据库系统以及JDBC(Java Database Connectivity)技术。JDBC是Java中用于与各种数据库进行交互的一组接口和类,它为开发者提供了标准的API,使得Java应用程序...

    初学SpringCloud连接Oracle数据库

    在初学SpringCloud的过程中,与Oracle数据库的连接是构建分布式系统的一个重要环节。SpringCloud作为一个微服务框架,提供了丰富的服务治理功能,而数据库作为数据存储的核心,与SpringBoot的集成使得我们可以轻松...

    Java调用oracle存储过程总结

    在Java编程中,调用Oracle数据库的存储过程是常见的任务,尤其在处理复杂业务逻辑或高效数据操作时。本文将全面总结如何使用Java与Oracle存储过程进行交互。 首先,理解Oracle存储过程的基本概念。存储过程是预编译...

    java连接Oracle分页显示

    在Java中,我们可以使用JDBC(Java Database Connectivity)来连接Oracle数据库并执行上述SQL语句或调用存储过程。以下是一个基本的示例: ```java import java.sql.*; public class OraclePagingExample { ...

    java调用oracle存储过程实现增删改查

    在Java编程中,调用Oracle数据库的存储过程是常见的数据操作任务,特别是在处理复杂的业务逻辑或需要高效批量处理数据时。存储过程是预编译的SQL语句集合,可以提高性能,减少网络流量,并增强安全性。本文将详细...

    oracle 触发器实时调用java 中http接口

    在Oracle数据库中,触发器是一种特殊类型的存储过程,它会在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动执行。在这个场景中,我们关注的是一个特定的触发器,它在插入数据后被调用,并通过存储过程来...

    JAVA调用ORACLE存储过程通用类

    - **queryProcedure**方法:该方法是核心处理方法,用于调用存储过程,并获取结果集。 - 参数列表: - `List list`:包含要传递给存储过程的参数值列表。 - `String strStoredProcedureName`:存储过程的名称。 ...

    JAVA调用ORACLE存储过程游标使用

    在Java编程中,调用Oracle数据库的存储过程并处理返回的游标是一项常见的任务。Oracle存储过程可以封装复杂的业务逻辑,而游标则用于在结果集上进行迭代,特别是当结果集太大,不适合一次性加载到内存时。下面将详细...

    通过Web服务连接Oracle数据库.rar

    OWSM使得Oracle数据库能够作为Web服务提供者,允许外部应用通过HTTP或HTTPS协议来调用存储过程、函数等数据库操作。 要通过Web服务连接Oracle数据库,你需要遵循以下步骤: 1. **配置Oracle数据库**:确保Oracle...

    用java调用oracle存储过程

    以上代码展示了如何在Java中调用Oracle数据库的三种类型的存储过程:无返回值的存储过程、有单个返回值的存储过程以及返回列表的存储过程。对于无返回值的存储过程,主要涉及的是参数的输入,通过`execute()`方法...

    java调用Oracle存储过程

    在Java编程中,调用Oracle数据库的存储过程是常见的任务,尤其在处理复杂业务逻辑或数据操作时。本文将深入探讨如何使用Java与Oracle数据库进行交互,并调用存储过程。 首先,确保你已经在你的开发环境中安装了...

    使用Java操作oracle数据库

    本节将深入探讨如何使用Java来操作Oracle数据库,特别是调用存储过程。 首先,我们需要了解JDBC的基本概念。JDBC是Java平台的标准接口,它允许Java程序连接到各种类型的数据库,包括Oracle。在Java中,我们通常通过...

Global site tag (gtag.js) - Google Analytics