- 浏览: 1397281 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (346)
- linux (10)
- hbase (50)
- hadoop (23)
- java (52)
- java multi-thread (13)
- Oracle小记 (41)
- 机器学习 (12)
- 数据结构 (10)
- hadoop hive (16)
- java io (4)
- jms (1)
- web css (1)
- kafka (19)
- xml (2)
- j2ee (1)
- spring (6)
- ibatis (2)
- mysql (3)
- ext (3)
- lucene (3)
- hadoop pig (3)
- java nio (3)
- twemproxy (1)
- antlr (2)
- maven (6)
- mina (1)
- 列数据库 (1)
- oozie (2)
- mongodb (0)
- 报错 (0)
- jetty (1)
- neo4j (1)
- zookeeper (2)
- 数据挖掘 (3)
- jvm (1)
- 数据仓库 (4)
- shell (3)
- mahout (1)
- python (9)
- yarn (3)
- storm (6)
- scala (2)
- spark (5)
- tachyon (1)
最新评论
-
guokaiwhu:
赞啊!今晚遇到相同的问题,正追根溯源,就找到了博主!
hbase 报错gc wal.FSHLog: Error while AsyncSyncer sync, request close of hlog YouAr -
喁喁不止:
很清楚,有帮助。
hive常用函数 -
dsxwjhf:
Good job !!
kafka获得最新partition offset -
Locker.Xai:
参考了
freemaker教程 -
maoweiwer:
为啥EPHEMERAL_SEQUENTIAL类型的节点并没有自 ...
zookeeper 入门讲解实例 转
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(); } }
完毕
发表评论
-
java内存使用查看 转
2015-10-29 14:51 865转:http://mxsfengg.iteye.com ... -
Java线上应用故障排查之二:高内存占用
2015-08-17 16:28 0搞Java开发的,经常会碰到下面两种异常: 1、java. ... -
java filechannel
2015-08-14 15:42 1052Java NIO中的FileChannel是一个连接到文件 ... -
Java线上应用故障排查之一:高CPU占用
2015-08-06 13:58 6185转http://blog.csdn.net/blade20 ... -
java注释
2015-04-10 15:49 0Java注解是附加在代码中的一些元信息,用于一些工具在编译、 ... -
转jvm
2015-03-24 14:13 1670一、回顾JVM内存分配 ... -
java 域名转换
2014-12-22 11:05 765import java.net.InetAddres ... -
freemaker教程
2014-10-13 11:56 1979新换了工作,与想象差距也太大了 最近沦落到做报表了,我就 ... -
protocal buffers入门实例
2014-09-22 21:08 1651hadoop yarn中新的系列化protocol buf ... -
正则小计
2014-09-18 20:47 0&site=(.*?)&可以匹配site的值 ... -
在HBase中应用MemStore-Local Allocation Buffers解决Full GC问题
2014-06-13 23:05 1605译者注:上个月 ... -
java ipc 实例
2014-05-21 22:59 4876java ipc实例,仿照hadoop ipc写的实例 1 ... -
java worker thread模式
2014-03-25 22:46 1976转两个帖子 一个java wo ... -
bloom filter
2014-03-09 19:41 1953看到hadoop join和hbase都有bloo ... -
java reference
2014-03-09 17:49 715转 http://www.iteye.com/to ... -
oracle报错 ora-14300:partition key maps to a partition outside maximum pemitted nu
2014-02-28 20:57 2011可能由两个原因造成 1.partition数量超过 ... -
annotation实例
2014-02-11 22:04 1136加载指定目录的所有class,通过注释区分实体类 p ... -
java获取子类 转
2014-02-11 16:58 3121获取子类 package com.tools; ... -
oracle自动分区 (时间 数字)
2014-01-21 20:15 8917按照时间,每天分区 create table test_p ... -
动态代理
2013-08-14 20:38 1080动态代理,转:http://langyu.iteye. ...
相关推荐
Java调用Oracle存储过程返回结果集Record、Cursor参照 Java调用Oracle存储过程返回结果集(Record)是指在Java程序中通过调用Oracle存储过程来获取记录集的结果。下面将详细介绍相关知识点。 创建Type 在Oracle中...
以上就是Java调用Oracle存储过程或函数的主要知识点,实践中要根据具体情况进行适当的调整和优化。在处理过程中,参考Oracle的JDBC文档和官方示例,以及Java API文档,将有助于理解和解决问题。
本篇文章将深入探讨如何使用Java调用Oracle存储过程,并通过游标获取存储过程中返回的临时表数据。 首先,Oracle存储过程是一种在数据库端执行的预编译SQL语句和PL/SQL代码集合。它可以接收参数、执行业务逻辑并...
### JAVA调用ORACLE存储过程知识点详解 #### 一、背景与概述 在现代软件开发过程中,集成多种技术栈是常态。特别是在企业级应用中,Java 和 Oracle 数据库的组合非常常见。通过 Java 调用 Oracle 存储过程不仅能够...
总结,通过Java调用Oracle存储过程,我们需要配置JDBC驱动,建立数据库连接,创建CallableStatement,设置参数,执行存储过程,并处理返回的结果。在这个例子中,我们展示了如何调用一个简单的存储过程并打印返回的...
总之,Java调用Oracle存储过程,尤其是处理游标,需要理解JDBC的使用、Oracle特定的类型以及存储过程的参数传递方式。通过合理的编程实践,我们可以高效地在Java应用程序中集成Oracle数据库的复杂操作。
以上代码展示了如何在Java中调用Oracle数据库的三种类型的存储过程:无返回值的存储过程、有单个返回值的存储过程以及返回列表的存储过程。对于无返回值的存储过程,主要涉及的是参数的输入,通过`execute()`方法...
java调用oracle存储过程.wps java调用oracle存储过程.wps java调用oracle存储过程.wps
### Java调用Oracle存储过程详解 #### 一、概述 在企业级应用开发中,数据库存储过程被广泛用于实现复杂的业务逻辑处理。由于其高效性和安全性,存储过程常常成为首选方案之一。Java作为主流的企业级开发语言之一...
在这个入门实例中,我们将重点探讨如何通过Java调用Oracle的存储过程来实现这些基本操作,并结合使用DOM4J解析XML配置文件来管理数据库连接。 首先,存储过程是Oracle数据库中预编译的SQL语句集合,它可以封装复杂...
本文将详细讲解如何使用Java调用Oracle存储过程,并提供示例代码。 首先,我们需要了解Java中用于与数据库交互的核心类,包括`java.sql.Connection`、`java.sql.CallableStatement`和`java.sql.Types`。`Connection...
### JAVA调用ORACLE存储过程通用类 #### 概述 在Java开发中,经常会遇到需要与数据库交互的情况,特别是当涉及到复杂的业务逻辑时,利用数据库的存储过程可以有效地提高程序性能并简化代码结构。本篇文章将详细...
总结一下,Java调用Oracle存储过程并处理游标的关键步骤包括: 1. 创建Oracle存储过程,包含一个或多个OUT参数,这些参数为游标。 2. 在Java中,使用`CallableStatement`调用存储过程,注册OUT参数为`OracleTypes....
在Java编程中,调用Oracle数据库的...总的来说,Java调用Oracle存储过程涉及到JDBC的基本用法、CallableStatement接口、参数的设置与获取等技术。掌握这些知识,将使你在处理与Oracle数据库交互的项目中更加游刃有余。
总之,Java调用Oracle存储过程涉及的主要知识点包括JDBC API、Oracle JDBC驱动、`CallableStatement`对象、参数绑定、结果集处理以及资源管理。通过学习和实践这些内容,开发者可以有效地在Java应用中集成Oracle...
通过这些步骤,你可以成功地从Java应用程序中调用Oracle存储过程。确保正确配置JDBC驱动,理解存储过程的参数类型,并熟悉JDBC API,这样就能高效地实现数据交互了。在开发过程中,可以参考Oracle的官方文档以及各种...
在Java编程中,调用Oracle数据库的存储过程是常见的任务,尤其在处理复杂业务逻辑或数据操作时。本文将深入探讨如何使用Java与...记住,实践是最好的老师,尝试编写一个简单的Java程序来调用Oracle存储过程,加深理解。