`
fly533
  • 浏览: 109344 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

java调用oracle存储过程

    博客分类:
  • java
阅读更多
JAVA 代码调用:


public class ConnectionDataBase {
 private String name = "scott";
 private String password = "tiger";
 private String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
 private String driverClassName = "oracle.jdbc.driver.OracleDriver";

 /**
  * 返回数据库 连接
  * 
  * @return
  */
 public Connection getConn() {
  Connection conn = null;
  try {
   Class.forName(driverClassName);
   conn = DriverManager.getConnection(url, name, password);

  } catch (Exception e) {
   e.printStackTrace();
  }
  return conn;
 }

 public static void main(String[] agrs) throws SQLException {
  ConnectionDataBase cdb = new ConnectionDataBase();
  /**
   * 使用游标查询 所有的信息
   */
  Connection conn = cdb.getConn();
  /**
   * 得到 存储过程对象
   */
  CallableStatement call = conn
    .prepareCall("{call QUN_STUDY.QUERY_ALL_INFO(?,?)}");
  /**
   * 注册 整型
   */
  call.registerOutParameter(1, Types.INTEGER);
  /**
   * 注册游标类型
   */
  call.registerOutParameter(2, OracleTypes.CURSOR);
  call.execute();
  /**
   * 获取第一个注册的参数
   */
  Integer result = call.getInt(1);
  /**
   * 将游标 类型 转换为 结果集
   */
  ResultSet rs = (ResultSet) call.getObject(2);
  while (rs.next()) {
   System.out.println("id:" + rs.getInt(1));
   System.out.println("name:" + rs.getString(2));
   System.out.println("password:" + rs.getString(3));
  }

 }
}




打开 PLSQL 创建一张:
-- Create table
create table T_QUN_STUDY
(
  T_ID       NUMBER not null,
  T_NAME     VARCHAR2(50),
  T_PASSWORD VARCHAR2(50)
)
tablespace USERS
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64
    minextents 1
    maxextents unlimited
  );
-- Create/Recreate primary, unique and foreign key constraints 
alter table T_QUN_STUDY
  add primary key (T_ID)
  using index 
  tablespace USERS
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );

写的存储过程包和主体:

CREATE OR REPLACE PACKAGE BODY QUN_STUDY IS
  ------------------------------
  --插入新数据--
  --author:xiaohe--
  --date:2009-11-21--
  PROCEDURE INSERT_T_QUN_STUDY(P_ID       IN NUMBER,
                               P_NAME     IN VARCHAR2,
                               P_PASSWORD IN VARCHAR2) IS
  BEGIN
    INSERT INTO T_QUN_STUDY
      (T_ID, T_NAME, T_PASSWORD)
    VALUES
      (P_ID, P_NAME, P_PASSWORD);
  END;
  ----------------------------
  --删除信息--
  --author:xiaohe--
  --date:2009-11-21 --
  PROCEDURE DEL_T_QUN_STUDY(P_ID IN NUMBER, X_OUT_RECORD OUT NUMBER) IS
  BEGIN
    DELETE T_QUN_STUDY TQS WHERE TQS.T_ID = P_ID;
    X_OUT_RECORD := 0;
  EXCEPTION
    WHEN OTHERS THEN
      X_OUT_RECORD := -1;
  END;
  -------------------------------
  --查询表所有信息--
  ----
  ----
  PROCEDURE QUERY_ALL_INFO(X_OUT_RECORD OUT NUMBER,
                           X_OUT_CURSOR OUT SYS_REFCURSOR) IS
  BEGIN
    OPEN X_OUT_CURSOR FOR
      SELECT * FROM T_QUN_STUDY;
    X_OUT_RECORD := 0;
  EXCEPTION
    WHEN OTHERS THEN
      X_OUT_RECORD := -1;
  END;

END QUN_STUDY;



分享到:
评论

相关推荐

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

    Java调用Oracle存储过程返回结果集Record、Cursor参照 Java调用Oracle存储过程返回结果集(Record)是指在Java程序中通过调用Oracle存储过程来获取记录集的结果。下面将详细介绍相关知识点。 创建Type 在Oracle中...

    Java调用oracle存储过程通过游标返回临时表

    本篇文章将深入探讨如何使用Java调用Oracle存储过程,并通过游标获取存储过程中返回的临时表数据。 首先,Oracle存储过程是一种在数据库端执行的预编译SQL语句和PL/SQL代码集合。它可以接收参数、执行业务逻辑并...

    java调用oracle存储过程或者函数

    以上就是Java调用Oracle存储过程或函数的主要知识点,实践中要根据具体情况进行适当的调整和优化。在处理过程中,参考Oracle的JDBC文档和官方示例,以及Java API文档,将有助于理解和解决问题。

    JAVA调用ORACLE存储过程

    ### JAVA调用ORACLE存储过程知识点详解 #### 一、背景与概述 在现代软件开发过程中,集成多种技术栈是常态。特别是在企业级应用中,Java 和 Oracle 数据库的组合非常常见。通过 Java 调用 Oracle 存储过程不仅能够...

    java调用oracle存储过程(游标)相关

    总之,Java调用Oracle存储过程,尤其是处理游标,需要理解JDBC的使用、Oracle特定的类型以及存储过程的参数传递方式。通过合理的编程实践,我们可以高效地在Java应用程序中集成Oracle数据库的复杂操作。

    java调用Oracle存储过程的代码

    总结,通过Java调用Oracle存储过程,我们需要配置JDBC驱动,建立数据库连接,创建CallableStatement,设置参数,执行存储过程,并处理返回的结果。在这个例子中,我们展示了如何调用一个简单的存储过程并打印返回的...

    用java调用oracle存储过程

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

    java调用oracle存储过程.wps

    java调用oracle存储过程.wps java调用oracle存储过程.wps java调用oracle存储过程.wps

    java 调用oracle存储过程

    总之,Java调用Oracle存储过程涉及的主要知识点包括JDBC API、Oracle JDBC驱动、`CallableStatement`对象、参数绑定、结果集处理以及资源管理。通过学习和实践这些内容,开发者可以有效地在Java应用中集成Oracle...

    java调用oracle存储过程入门实例 增删改查

    在Java中调用Oracle存储过程,我们需要使用JDBC(Java Database Connectivity),这是Java标准库提供的一组接口和类,用于与各种数据库进行通信。首先,我们需要添加Oracle JDBC驱动到项目中,例如ojdbc.jar。 1. *...

    JAVA调用ORACLE存储过程通用类

    ### JAVA调用ORACLE存储过程通用类 #### 概述 在Java开发中,经常会遇到需要与数据库交互的情况,特别是当涉及到复杂的业务逻辑时,利用数据库的存储过程可以有效地提高程序性能并简化代码结构。本篇文章将详细...

    Java调用Oracle存储过程的方法

    本文将详细讲解如何使用Java调用Oracle存储过程,并提供示例代码。 首先,我们需要了解Java中用于与数据库交互的核心类,包括`java.sql.Connection`、`java.sql.CallableStatement`和`java.sql.Types`。`Connection...

Global site tag (gtag.js) - Google Analytics