`
阅读更多

 

Java 调用 oracle 存储过程三个实例(看前知识,需要存储过程,jdbc相关一点点)

 

1.插入,无返回值

 

oracle 的 procedure 为

 

create or replace procedure add_project(proid      varchar2,  
                                        proversion number,  
                                        proname    varchar2,  
                                        customID varchar2 default null) is  
begin  
  insert into T_LPROMIS_XMGL_GBBXMXX pro  
    (xmid, xmbbh, xmmc,pro.khid)  
  values  
    (proid, proversion, proname,customID);  
end;  

 2.查询,有一个out varchar的返回值

 

oracle 的 procedure 为

 

create or replace procedure query_project  
(proname in varchar2, proid out varchar2)  
is   
begin  
  select pro.xmid into proid from T_LPROMIS_XMGL_GBBXMXX pro  
where pro.xmmc = proname;  
end;  

 3.查询,有一个out ref cursor的返回值

 

oracle 的 procedure 为

 

create or replace package query_project_pck  
as   
type pro_ref_cursor_type is ref cursor;  
type pro_table is table of varchar(100);  
type pro_record is record(name varchar(100),id varchar(100));  
procedure pro_procedure(name varchar,id varchar);  
end query_project_pck; -- define package  
  
create or replace procedure query_pro(pro_result out query_project_pck.pro_ref_cursor_type) is  
begin  
  open pro_result for  
    select pro.xmid, pro.xmmc,pro.updatetime from T_LPROMIS_XMGL_GBBXMXX pro return pro_record_type;  
end; --create procedure using ref cursor

 以上为oracle数据库

 

下面就是jdbc call procedure 了,上代码:

 

public static void test() throws ClassNotFoundException, SQLException{  
        System.out.println("=====Test.test=====");  
        Class.forName("oracle.jdbc.driver.OracleDriver");  
        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.32.227:1521:orcl","use","password");  
        //Connection conn = new Conn().getConnection();  
        CallableStatement cstmt = null;  
        ResultSet rs = null;  
        try{  
              
            // 过程调用,无返回值  
            cstmt = conn.prepareCall("call add_project(?,?,?)");  
            cstmt.setString(1,"testproject1");  
            cstmt.setInt(2, 0);  
            cstmt.setString(3, "super man project");  
            cstmt.execute();  
            cstmt.setString(1, "testproject2");  
            cstmt.setInt(2, 0);  
            cstmt.setString(3, "a worker project");  
            cstmt.execute();  
            cstmt.setString(1, "testproject3");  
            cstmt.setInt(2, 0);  
            cstmt.setString(3, "a user project");  
            cstmt.execute();  
            System.out.println("插入成功");  
              
            cstmt = conn.prepareCall("call query_project(?,?)");  
            cstmt.registerOutParameter(2,Types.VARCHAR);  
            cstmt.setString(1, "全网项目");  
            cstmt.execute();  
            System.out.println(cstmt.getString(2));  
            cstmt = conn.prepareCall("call query_pro(?)");  
            cstmt.registerOutParameter(1, OracleTypes.CURSOR);  
            cstmt.execute();  
            rs = (ResultSet) cstmt.getObject(1);  
            while(rs.next())  
            {  
                  
                System.out.println("id= "+rs.getString(1));  
                System.out.println("name="+rs.getString(2));  
                System.out.println("msg="+rs.getString(3));  
            }  
              
            if(!rs.isClosed())  
                rs.close();  
            cstmt.close();  
            conn.close();  
        }catch(Exception e){  
            System.out.println("=====Test.test=====\n操作失败");  
            e.printStackTrace();  
        }  
    }  
 

 

 

分享到:
评论
2 楼 dream_h 2013-03-22  
新手 学习了
1 楼 dream_h 2013-03-22  
[flash=200,200][url][img][list]
[*]
引用
[u][u][i][b][/b][/i][/u][/u]
[/list][/img][/url][/flash]
|

相关推荐

    Spring JdbcTemplate调用Oracle存储过程实现CRUD

    我们将首先编写 Oracle 存储过程,然后编写 Java 代码使用 Spring JdbcTemplate 调用这些存储过程。 Oracle 存储过程 首先,我们编写了两个 Oracle 存储过程:`P_EMP_SELECT` 和 `P_EMP_ADD`。 `P_EMP_SELECT` ...

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

    在Java程序中,使用JDBC来调用Oracle存储过程`test_items`,获取结果集。首先,加载Oracle驱动程序,并连接到Oracle数据库。然后,创建一个CallableStatement对象,并将其设置为调用存储过程`test_items`。执行...

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

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

    java调用Oracle存储过程的代码

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

    Java程序如何调用Oracle中的存储过程

    Java 程序调用 Oracle 中的存储过程 在 Java 程序中调用 Oracle 中的存储过程是非常实用的技术, 它可以帮助开发者将业务逻辑封装在存储过程中,以提高应用程序的性能和安全性。下面将详细介绍如何使 Java 类调用 ...

    JDBC调用oracle存储过程.docx

    在本场景中,我们讨论的是如何使用JDBC调用Oracle数据库中的存储过程。存储过程是一组预先编译的SQL语句,可以提高数据库操作的效率和安全性。 首先,我们需要了解如何创建Oracle存储过程。在示例中,我们看到了三...

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

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

    Java调用oracle存储过程总结

    通过这些步骤,你可以成功地从Java应用程序中调用Oracle存储过程。确保正确配置JDBC驱动,理解存储过程的参数类型,并熟悉JDBC API,这样就能高效地实现数据交互了。在开发过程中,可以参考Oracle的官方文档以及各种...

    用java调用oracle存储过程

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

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

    总结来说,这个入门实例涵盖了使用Java通过JDBC调用Oracle存储过程进行CRUD操作的基本流程,以及利用DOM4J解析XML配置文件和`ThreadLocal`管理数据库连接的方法。这样的设计使得程序更加模块化,易于维护,同时也...

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

    在Java编程中,调用Oracle数据库的存储...总之,通过Java调用Oracle存储过程,我们可以有效地执行数据库操作,同时利用存储过程带来的性能和安全优势。了解如何正确设置参数、执行和处理结果是成功实现这一目标的关键。

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

    在给出的“简单的存储过程.txt”文件中,可能包含了一个示例存储过程的定义和如何通过JDBC调用它的Java代码。例如,一个存储过程可能用于插入数据: ```sql CREATE OR REPLACE PROCEDURE insert_user ( p_username...

    springboot整合mybatis调用oracle存储过程

    本文将深入探讨如何在Spring Boot项目中整合MyBatis,实现调用Oracle存储过程并处理游标返回的数据。 首先,我们需要在Spring Boot项目中引入相关的依赖。在`pom.xml`文件中添加Oracle JDBC驱动(ojdbc66-oracle...

    java中调用oracle的存储过程和函数

    ### Java中调用Oracle的存储过程和函数 在Java应用程序中调用Oracle数据库中的存储过程或函数是一项常见的任务。这不仅能够提高代码的执行效率,还可以有效地管理事务处理,确保数据的一致性和完整性。本文将详细...

    JAVA调用ORACLE存储过程

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

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

    总结一下,Java调用Oracle存储过程并处理游标的关键步骤包括: 1. 创建Oracle存储过程,包含一个或多个OUT参数,这些参数为游标。 2. 在Java中,使用`CallableStatement`调用存储过程,注册OUT参数为`OracleTypes....

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

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

    java调用Oracle存储过程

    在Java编程中,调用Oracle数据库的存储过程是常见的任务,尤其在处理复杂业务逻辑或数据操作时。本文将深入探讨如何使用Java与...记住,实践是最好的老师,尝试编写一个简单的Java程序来调用Oracle存储过程,加深理解。

    用java调用oracle存储过程总结

    } } catch (SQLException ex1) { } } }}```总结与注意事项调用Oracle存储过程在Java中主要使用`CallableStatement`,通过占位符`?`来代表参数,并使用`setXXX`方法设置IN参数,`registerOutParameter`注册OUT或IN...

Global site tag (gtag.js) - Google Analytics