`
qingyujingyu427
  • 浏览: 27673 次
社区版块
存档分类
最新评论

JDBC调用oracle PLSQL(用jpublisher生成代码)

阅读更多

如果有一个TYPE:

CREATE OR REPLACE type EMP_TYPE AS  object
  (
    id   NUMBER ,
    name VARCHAR2 ,
    birthday DATE ,
    sex CHAR (1) 
  );




有一个Pacakge:
CREATE OR REPLACE PACKAGE EMP_UTIL IS
  FUNCTION get_emp_by_id  (p_id NUMBER)  RETURN EMP_TYPE;
  PROCEDURE create_emp  (p_emp EMP_TYPE);
END EMP_UTIL;
现在如果需要用JDBC调用这个Package的这两个功能。
1. 下载JPublisher。
2. 设置CLASSPATH。
set CLASSPATH=%CLASSPATH%;%JPUB_HOME%\sqlj\lib\translator.jar
set CLASSPATH=%CLASSPATH%;%JPUB_HOME%\sqlj\lib\runtime12.jar
set CLASSPATH=%CLASSPATH%;%JPUB_HOME%\sqlj\lib\jpub.jar
set CLASSPATH=%CLASSPATH%;%ORACLE_HOME%\jdbc\lib\classes12.jar
3. 执行命令: jpub -user=user/pwd@SID -s EMP_UTIL
4. 会生成两个个类:EmpType, EmpTypeRef, 将这两个类拷贝到工作目录下。
5. 新建一个java类来调用这两个功能,代码如下:
public class Sample
{
  Map getTypeMap()
  {
    Map map = new HashMap();
    map.put("EMP_TYPE", EmpType.class);
    return map;
  }

  public EmpType getEmpById(long id)
  {
    Connection conn = null;
    CallableStatement cstmt = null;
    try
    {
      conn = getConnection();
      conn.setTypeMap(getTypeMap());
      cstmt = conn.prepareCall("{? = call emp_util.get_emp_by_id(?)}");
      cstmt.registerOutParameter(1, Types.STRUCT, "EMP_TYPE");
      cstmt.setLong(2, id);
      cstmt.execute();
      return (EmpType) cstmt.getObject(1);
    }
    catch (Exception e)
    {
      return null;
    }
    finally
    {
      cstmt.close();
      conn.close();
    }
  }

  public void createEmp(EmpType emp)
  {
    Connection conn = null;
    CallableStatement cstmt = null;
    try
    {
      conn = getConnection();
      conn.setTypeMap(getTypeMap());
      cstmt = conn.prepareCall("{call emp_util.create_emp(?)}");
      cstmt.setObject(1, emp, Types.STRUCT);
      cstmt.execute();
    }
    catch (Exception e)
    {
    }
    finally
    {
    }
  }
}





 

分享到:
评论

相关推荐

    《Oracle PLSQL 从入门到精通》.zip

    在PLSQL中,你可以创建存储过程和函数,这些是可重复使用的代码块,可以提高效率并减少数据访问的复杂性。存储过程可以有输入和输出参数,甚至可以返回值。函数则更像数学函数,接收参数并返回单一结果。 此外,...

    oracle plsql开发代码实例讲解

    oracle plsql 代码入门到精通实例演示讲解,plsql编程入门教程

    (ORACLE)PLSql

    PLSql 很好的一个控制数据库工具(ORACLE)

    Oracle PLSQL详解 宝典

    通过《Oracle PLSQL详解 宝典》,你不仅可以学习到PL/SQL的理论知识,还能通过实例和实践加深理解,提升编写高效、易维护的代码的能力。无论你是初学者还是经验丰富的开发者,这本书都将是你掌握Oracle数据库编程不...

    oracle PLSQL

    通过深入理解和熟练使用Oracle PL/SQL及PL/SQL Developer,数据库管理员和开发人员能够构建健壮、高效的应用系统,实现对Oracle数据库的高效管理和维护。掌握这些知识将极大地提高你在IT领域的专业能力,尤其是在...

    不安装oracle使用plsql

    标题中的“不安装oracle使用plsql”意味着要在没有Oracle数据库客户端的情况下使用PL/SQL Developer这一工具。这通常通过Oracle的Instant Client实现,该组件提供了一种轻量级的解决方案,允许用户连接到Oracle...

    Oracle PLSQL 从入门到精通

    Oracle PLSQL,全称为Oracle Procedural Language/Structured Query Language,是Oracle数据库系统中的一个编程组件,用于扩展SQL的功能,实现更复杂的业务逻辑。它结合了SQL的查询能力与过程式编程语言的特点,使得...

    Oracle PLSQL by Example, 5th Edition

    读者循序渐进地学习每个关键任务,自己就能掌握当今最有价值的Oracle12c的PL/SQL编程技术。本书的方法完全反映了作者在哥伦比亚大学给专业人员讲授PL/SQL的广受好评的经验。数据库开发的新手和DBA可以通过学习本书...

    Oracle PlSql 存储过程

    用 Java 调用 Oracle 存储过程可以使用 JDBC 或 Oracle 的java驱动程序。下面是用 Java 调用 Oracle 存储过程的总结: 1. 无返回值的存储过程 无返回值的存储过程可以使用 CallableStatement 来调用。 2. 有...

    Oracle PLSQL编程,第4版

    Oracle PLSQL编程是数据库开发领域中的重要组成部分,尤其在企业级应用系统中广泛使用。第四版的《Oracle PLSQL编程》旨在深入解析Oracle数据库的PL/SQL编程语言,帮助开发者提升技能,掌握高效、稳定和安全的数据库...

    ORACLE PLSQL实例精解(第4版).part2

    ORACLE PLSQL实例精解(第4版).part2

    Oracle PLSQL Programming 6th Edition

    《Oracle PLSQL Programming 6th Edition》是一本深入讲解Oracle数据库中的PL/SQL编程语言的权威著作。PL/SQL是Oracle数据库系统中的过程式语言,它结合了SQL的查询功能和传统的编程语言特性,用于创建复杂的数据库...

    Oracle PLSQL语言初级教程

    PL/SQL代码使用ASCII文本编辑器编写,适应性强,可以在任何Oracle支持的操作系统上使用。与SQL不同,PL/SQL以块的形式发送到服务器,减少了网络通信的负担,提高了效率。 PL/SQL的结构分为声明、执行和异常处理三个...

    oracle plsql

    Oracle PL/SQL是一种在Oracle数据库环境中使用的结构化查询语言(SQL)的扩展,它结合了SQL的查询功能和过程式编程语言的控制结构。在Oracle PL/SQL中,你可以编写存储过程、函数、触发器、游标等,以实现复杂的业务...

    Oracle连接工具plsql11x64位

    Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具...

    oracle plsql编程学习笔记

    在Oracle数据库中,使用PL/SQL进行数据库编程前,首先需掌握如何创建表与进行基本的CRUD(创建、读取、更新、删除)操作。示例中的`CREATE TABLE`语句用于创建一个名为`mytest`的表,包含`name`和`password`两个字段...

    PLSQL jdbc调用存储过程(入门)

    PLSQL jdbc调用存储过程(入门)

    Oracle PLSQL实例代码

    PLSQL数据库编程 存储过程 游标 等等

    Oracle PLSQL实例精解

    Oracle PLSQL实例精解

Global site tag (gtag.js) - Google Analytics