- 浏览: 273962 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (126)
- ejb (3)
- Oracle (31)
- Sql (4)
- MySql (2)
- Jsf (3)
- struts (4)
- hibernate (3)
- spring (1)
- javascript (3)
- ext (17)
- jquery (4)
- dwr (3)
- ajax (2)
- java (19)
- Jboss (1)
- apache (3)
- window (3)
- 心情 (0)
- struts2 (1)
- design pattern (1)
- webshere (1)
- 我的淘宝 (1)
- Learn english (12)
- 项目管理 (2)
- JPA (1)
- Agile PLM (2)
- SQL Server (1)
最新评论
-
chro008:
I'm looking for method to defin ...
POI 设置单元格背景颜色 -
aa00aa00:
看样子不错,用到了easyUI ,呵呵
JSP CMS 管理系统 -
xiaokang1582830:
不错,支持一个...........
数据管理系统 -
gzzjsoft:
jdbc:mysql://localhost:3306/myd ...
Parameter metadata not available for the given statement -
blacklong:
good
POI 设置单元格背景颜色
打开 PLSQL 创建一张:如果你没有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 代码调用:
package com.procedure.core;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import oracle.jdbc.OracleTypes;
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.INSERT_T_QUN_STUDY(?,?,?)}");
// call.setInt(1, 4);
// call.setString(2, "蒙-混混");
// call.setString(3, "76544");
// boolean flag = call.execute();
// System.out.println(flag);
/**
* 删除 得到输出参数
*/
// Connection conn = cdb.getConn();
// CallableStatement call = conn
// .prepareCall("{call QUN_STUDY.DEL_T_QUN_STUDY(?,?)}");
// call.setInt(1, 4);
// call.registerOutParameter(2, Types.INTEGER);
// call.execute();
// Integer result = call.getInt(2);
// System.out.println("执行结果0为正常 -1为不正常" + result);
/**
* 使用游标查询 所有的信息
*/
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));
}
}
}
OK 基本就已经搞定了
如果大家有不明白 或者想共同学习的可以加群:2987841
也可以联系我本人QQ:86780004
- 源代码.rar (4.7 KB)
- 下载次数: 13
发表评论
-
三年所有JAVA技术文档列表
2013-08-19 15:59 201学习工作流workflow管理基础概念.pdf深入浅出St ... -
控制字段的权限设计(3) --系统操作演示
2013-06-13 16:34 2003系统的操作截图: 演示系统权限的的使用 之 创建权限 ... -
控制字段的权限设计(2) --数据库设计
2013-06-12 01:42 2512权限系统表设计 ... -
控制字段的权限设计(1)
2013-06-10 23:03 1606如果一个权限控制到页面的字段了可以说此权限已经达到了最小级 ... -
oracle 64 位 安装plsql
2012-05-13 13:42 1256PL/SQL Developer结合oracle精简客户 ... -
initialization error SQL*NET not properly installed
2012-04-19 15:36 9038initialization error SQL*NET no ... -
oracle 备份导出数据库
2012-03-14 10:37 945打开cmd 输入 exp 用户名/密码@服务名 file ... -
Oracle 查询刚刚执行的SQL
2011-12-17 16:04 2704select "SQL_TEXT", ... -
Oracle 10g自动扩容的方法
2011-12-06 14:11 1105方法一:管理界面em ALTER TABLESPACE ... -
ORACLE11g关于用户密码过期的问题解决
2011-08-26 10:13 1330在用oracle11g后,经常会遇到使用sqlplus登陆or ... -
安装ORACLE 11R2 找不到不到文件em.ear
2011-08-24 13:21 1512当安装ORACLE 11G R2 找 不到文件em.ear ... -
eclipse weblogic 插件更新
2011-06-17 16:32 1092Eclipse 3.3 Update site URL: ht ... -
(转)Oracle用Start with...Connect By子句递归查询
2011-04-28 10:25 963原文出处:http://www.yourblog.org/Da ... -
oracle 数据导出 命令
2011-04-14 01:57 1152首先进入sqlplus 输入用户名和密码进入 输入exp ... -
dba需要的技能
2010-12-05 21:27 1204DBA需要的技能 dba掌握的 ... -
oracle agile sdk 查询条件设置multilist
2010-09-25 21:58 1123今天在 使用Oracle Agile 设置 查询条件的时候一 ... -
weblogic 报错 Error thrown by RMI server: weblogic.management.remote.iiop.IIOPServ
2010-09-07 10:12 1970进入weblogic 管理界面 报错登陆不进管理界面. ... -
weblogic 10.3 启动应用报错
2010-07-13 23:38 1181今天使用weblogic 10.3 启动 应用总是报错 j ... -
启动agile server 出现几个错误的解决
2010-05-08 14:03 1156首先出现 这个错误 是因为我们没有配置classpath 引起 ... -
Oracle 安装 检查网络配置需求未通过问题
2010-01-29 23:02 2234在oracle官方网站上下了oracle 10g,安装到检测硬 ...
相关推荐
本篇文章将深入探讨如何使用Java调用Oracle存储过程,并通过游标获取存储过程中返回的临时表数据。 首先,Oracle存储过程是一种在数据库端执行的预编译SQL语句和PL/SQL代码集合。它可以接收参数、执行业务逻辑并...
总结一下,Java调用Oracle存储过程并处理游标的关键步骤包括: 1. 创建Oracle存储过程,包含一个或多个OUT参数,这些参数为游标。 2. 在Java中,使用`CallableStatement`调用存储过程,注册OUT参数为`OracleTypes....
总之,Java调用Oracle存储过程,尤其是处理游标,需要理解JDBC的使用、Oracle特定的类型以及存储过程的参数传递方式。通过合理的编程实践,我们可以高效地在Java应用程序中集成Oracle数据库的复杂操作。
我们使用 CALLABLESTATEMENT 来调用存储过程,获取游标类型参数的值,并将其转换为 ResultSet 对象。最后,我们使用 while 循环来遍历 ResultSet 对象,并将结果打印出来。 六、结论 本示例展示了如何使用 ...
以上就是Java调用Oracle存储过程或函数的主要知识点,实践中要根据具体情况进行适当的调整和优化。在处理过程中,参考Oracle的JDBC文档和官方示例,以及Java API文档,将有助于理解和解决问题。
Java调用Oracle存储过程返回结果集Record、Cursor参照 Java调用Oracle存储过程返回结果集(Record)是指在Java程序中通过调用Oracle存储过程来获取记录集的结果。下面将详细介绍相关知识点。 创建Type 在Oracle中...
在Java中,我们可以使用JDBC API来调用Oracle存储过程并处理返回的Out游标。`OracleProcedure.java`文件应该包含了这样的代码。以下是一个简单的示例: ```java CallableStatement cs = connection.prepareCall("{ ...
se();}if(stmt != null){stmt.close();}if(conn != null){conn.close();...此外,对于存储过程的错误处理,通常需要在Oracle存储过程中添加异常捕获和处理机制,以便在Java调用时能够得到清晰的错误信息。
标题中的“jdbc连接例子 Oracle CLOB转换为String java调用存储过程之输出游标”涉及到三个主要的Java数据库编程知识点:JDBC连接、Oracle数据库中的CLOB类型处理以及通过Java调用存储过程处理输出游标。 1. JDBC...
用 Java 调用 Oracle 存储过程时,需要使用 JDBC 驱动程序来连接 Oracle 数据库,然后使用 CallableStatement 对象来调用存储过程。 在存储过程中做简单动态查询 在存储过程中,做简单动态查询需要使用 EXECUTE ...
### JAVA调用ORACLE存储过程通用类 #### 概述 在Java开发中,经常会遇到需要与数据库交互的情况,特别是当涉及到复杂的业务逻辑时,利用数据库的存储过程可以有效地提高程序性能并简化代码结构。本篇文章将详细...
本文将全面总结如何使用Java与Oracle存储过程进行交互。 首先,理解Oracle存储过程的基本概念。存储过程是预编译的SQL语句集合,存储在数据库中,可以接受参数、执行一系列操作并返回结果。它们提高了性能,减少了...
本文将深入探讨如何使用Java与Oracle数据库进行交互,并调用存储过程。 首先,确保你已经在你的开发环境中安装了Oracle JDBC驱动,通常为ojdbc.jar。这个驱动允许Java应用程序连接到Oracle数据库并执行SQL语句以及...
以上就是使用Java调用Oracle存储过程的方法,包括处理基本类型返回值和游标返回值。在实际开发中,可能还需要处理异常、事务管理等问题,确保代码的健壮性和可维护性。同时,为了提高性能,建议使用连接池管理数据库...
本文将深入探讨如何在Spring Boot项目中整合MyBatis,实现调用Oracle存储过程并处理游标返回的数据。 首先,我们需要在Spring Boot项目中引入相关的依赖。在`pom.xml`文件中添加Oracle JDBC驱动(ojdbc66-oracle...
本篇文章将详细介绍如何在Java中通过ODBC6驱动获取Oracle存储过程返回的Cursor。 首先,我们需要创建一个Oracle存储过程,该过程定义了一个名为CURSOR_RESULT的REF CURSOR类型。在提供的示例中,我们有一个名为TEST...
### Java调用存储过程实例:详解 #### 存储过程简介 存储过程是一种在数据库中编写的SQL程序,可以接受输入参数,执行一系列操作,并返回结果或输出参数。它们可以提高应用程序的性能、安全性和复用性。在Oracle...
在Java编程中,我们可以使用JDBC(Java Database Connectivity)来调用这些Oracle存储过程。在提供的Java代码示例中,我们首先加载Oracle的JDBC驱动,然后建立到数据库的连接。这里使用了`CallableStatement`来执行...
本篇将深入探讨如何在Oracle存储过程中创建并返回一个结果集,并结合Java代码展示如何在应用程序中使用这个结果集。 首先,我们需要理解`OUT`参数的概念。在Oracle存储过程中,`IN`参数用于传递数据到过程,`OUT`...