- 浏览: 541564 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (339)
- JavaBase (27)
- J2EE (70)
- Database (22)
- Spring (3)
- struts1.x (6)
- struts2.x (16)
- Hibernate (10)
- IBatis (4)
- DWR (1)
- SSH (5)
- Oracle (31)
- HTML (12)
- javascript (11)
- Thinking (3)
- Workflow (5)
- Live (13)
- Linux (23)
- ExtJS (35)
- flex (10)
- php (3)
- Ant (10)
- ps (1)
- work (2)
- Test (1)
- Regular Expressions (2)
- HTTPServer (2)
- 方言 (1)
- 生活 (2)
- Sybase PowerDesigner (0)
最新评论
-
mikey_5:
非常感谢楼主的分享,<parameter propert ...
Check the output parameters (register output parameters failed) IN Ibatis -
影子_890314:
我现在也有这个错误,求解!
Check the output parameters (register output parameters failed) IN Ibatis -
358135071:
学习了,感谢分享!
使用hibernate 代替 mysql 中 limit 進行分頁 -
wjpiao:
你下面的“正确的映射”里面不是还是有number类型吗?
Check the output parameters (register output parameters failed) IN Ibatis -
zh_s_z:
很有用!弄一份吧!
Oracle数据库分区表操作方法
/********************************************************************************
包中存储过程及函数 (database Oracle 10G)
********************************************************************************/
----包声明
CREATE OR REPLACE PACKAGE pkg_test
AS
TYPE myrctype IS REF CURSOR;
PROCEDURE proc_findResult(u_cursor OUT myrctype, u_id NUMBER);
FUNCTION fun_findResult(u_id NUMBER) return myrctype;
END pkg_test;
----包主体的声明
CREATE OR REPLACE PACKAGE BODY pkg_test
AS
PROCEDURE proc_findResult(u_cursor OUT myrctype ,u_id NUMBER)
IS
sqlString VARCHAR2 (500);
BEGIN
IF u_id = 0 THEN
OPEN u_cursor FOR SELECT userId, userName, password, groupName FROM user_account ORDER BY userId;
ELSE
sqlString :='SELECT userId, userName, password, groupName FROM user_account where userId=:w_id';
OPEN u_cursor FOR sqlString USING u_id;
END IF;
END proc_findResult;
function fun_findResult(u_id NUMBER) RETURN myrctype
IS
u_cursor myrctype;
sqlString VARCHAR2 (500);
BEGIN
IF u_id = 0 THEN
OPEN u_cursor FOR SELECT userId, userName, password, groupName FROM user_account ORDER BY userId;
ELSE
sqlString :='SELECT userId, userName, password, groupName FROM user_account where userId=:w_id';
OPEN u_cursor FOR sqlString USING u_id;
END IF;
return u_cursor;
END fun_findResult;
END pkg_test;
/********************************************************************************
java 中 test class
********************************************************************************/
package org.taink.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import oracle.jdbc.OracleCallableStatement;
import oracle.jdbc.OracleTypes;
public class MyTest {
public static void main(String args[]) throws Exception {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.1.100:1521:TAINK", "orca", "orca");
/**
* call procedure
*
*/
OracleCallableStatement oracleCallableStatement = (OracleCallableStatement) conn
.prepareCall("begin pkg_test.proc_findResult(?,?); end;");
//设参数
oracleCallableStatement.registerOutParameter(1, OracleTypes.CURSOR);
oracleCallableStatement.setInt(2, 0);
oracleCallableStatement.execute();
//获得输出对象,因为是第一个传入的,所以使用:getObject(1);
ResultSet resultSet = (ResultSet) oracleCallableStatement.getObject(1);
while (resultSet.next()) {
System.out.println(resultSet.getString("userId"));
System.out.println(resultSet.getString("userName"));
System.out.println(resultSet.getString("password"));
System.out.println(resultSet.getString("groupName"));
}
/**
* call function
*
*/
// OracleCallableStatement oracleCallableStatement = (OracleCallableStatement) conn
// .prepareCall("{?=call pkg_test.fun_findResult(?)}");
// //设参数
// oracleCallableStatement.registerOutParameter(1, OracleTypes.CURSOR);
// oracleCallableStatement.setInt(2, 0);
//
// oracleCallableStatement.execute();
// //获得输出对象,因为是第一个传入的,所以使用:getObject(1);
// ResultSet resultSet = (ResultSet) oracleCallableStatement.getCursor(1);
// while (resultSet()) {
// System.out.println(resultSet.getString(1));
// System.out.println(resultSet.getString(2));
// System.out.println(resultSet.getString(3));
// System.out.println(resultSet.getString(4));
// }
}
}
发表评论
-
Moto官方GMS谷歌服务套件For XT800+下载和使用教程
2011-05-21 22:03 3984MOTOXT800+ ANDROID ROM address: ... -
barcode4j
2011-05-14 17:34 970project net address: htt ... -
org.logicalcobwebs.proxool 连接池异常
2011-05-09 10:02 76792011/05/09 09:59:44:695 ERROR [ ... -
Spring JDBC 调用 procedure
2011-03-25 16:12 1332import java.sql.CallableStateme ... -
JDBC Call MySQL Proc
2011-03-25 15:10 1017MySQL PROC : ------------- ... -
Axis 开发WebService
2011-03-14 16:11 888net address : http://blog.cs ... -
java 内存查看软件_Jprofiler
2011-03-04 14:34 889java 内存查看软件(Eclipse plugin): ... -
了解 Eclipse 插件如何使用 OSGi
2011-02-18 09:39 973http://www.ibm.com/developerwor ... -
tomcat out of Memory error
2011-01-28 17:03 1022net address: http://www.iteye.c ... -
bak_
2010-12-30 17:48 806weblog address: http://kenwubl ... -
jsp tag page plugin
2010-12-09 15:31 894jsp tag page plugin: http://ww ... -
page cache set
2010-12-02 17:03 837response.setHeader("Ca ... -
properties file editor
2010-11-28 14:26 875net address(多种语言在同一个表格中,容易排除遗漏属 ... -
判断浏览器的语言
2010-11-26 17:43 855*.jsp page : <% Lan ... -
属性文件编辑器
2010-11-26 14:43 948在此想和大家分享一个不错的编写properties文件的Ecl ... -
google-api-translate-java
2010-11-14 17:51 804// http://code.google.com/p/go ... -
regex in java
2010-11-14 16:06 904Pattern类: 例子: Pat ... -
EHCache 配置详解
2010-10-13 17:22 10549EHCache 是一个纯java 的在进程中的缓存 ... -
displaytag jsp paging tag
2010-10-13 10:04 864displaytag :jsp paging tag ... -
Spring_Recipes code
2010-09-29 23:47 705code source: http://www.apress ...
相关推荐
Java调用Oracle存储过程返回结果集Record、Cursor参照 Java调用Oracle存储过程返回结果集(Record)是指在Java程序中通过调用Oracle存储过程来获取记录集的结果。下面将详细介绍相关知识点。 创建Type 在Oracle中...
调用Oracle函数的过程与调用存储过程类似,但创建CallableStatement时的SQL语句略有不同。由于函数会返回一个值,所以格式通常是`{? = call function_name(?, ?, ...)}`。在执行后,通过`CallableStatement....
### Java中调用Oracle的存储过程和函数 在Java应用程序中调用Oracle数据库中的存储过程或函数是一项常见的任务。这不仅能够提高代码的执行效率,还可以有效地管理事务处理,确保数据的一致性和完整性。本文将详细...
为了更好地管理和处理数据,通常需要在Java程序中调用Oracle数据库中的存储过程或函数。本文将详细介绍如何通过Java来调用Oracle数据库中的函数,并特别关注带有不同类型的输入(in)、输出(out)及输入输出(in/...
在Java中调用Oracle函数并处理返回的Oracle特定数据类型,如集合或索引表,通常涉及到Oracle的PL/SQL包和Java的JDBC驱动。以下是对这个主题的详细说明: 1. **Oracle索引表类型**: Oracle索引表是一种PL/SQL数据...
另外,如果存储过程返回游标(结果集),可以通过`ResultSet`接口进行处理。记得检查存储过程的返回值,它通常是一个表示成功与否的状态。 在开发过程中,可以使用诸如IntelliJ IDEA或Eclipse这样的IDE进行调试,...
### Java调用Oracle存储过程详解 #### 一、概述 在企业级应用开发中,数据库存储过程被广泛用于实现复杂的业务逻辑处理。由于其高效性和安全性,存储过程常常成为首选方案之一。Java作为主流的企业级开发语言之一...
如果存储过程返回一个结果集,例如我们需要查询某个ID对应的数据,可以创建一个返回结果集的存储过程。在Java中处理这种存储过程的步骤类似,但需要额外处理返回的结果集: 1. 调用存储过程:`cs.execute();` 2. ...
在Java编程中,调用Oracle数据库的过程和函数是常见的任务,尤其在开发企业级应用时。这个过程涉及到了Java的JDBC(Java Database Connectivity)API,它为Java应用程序提供了与各种数据库交互的能力,包括Oracle。...
在这段Java代码中,我们使用了`CallableStatement`来调用Oracle存储过程`TESTA`。关键点包括: - `prepareCall`方法用于准备调用存储过程。 - 使用`setString`方法设置输入参数的值。 - 调用`execute`方法执行存储...
System.out.println("存储过程返回的OUT参数值:" + outValue); cs.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 在这个例子中,`my_procedure`是存储过程名,`123`是...
总结,CallableStatement在Java中用于调用Oracle存储过程,无论是无返回值、有返回值还是返回结果集,都可以通过设置参数、注册`OUT`参数、处理结果集来实现。在实际开发中,注意数据库连接的管理以及异常的处理,...
Java调用Oracle分页存储过程是一项常见的数据库操作,尤其在处理大数据量时,为了提高查询效率和用户体验,分页查询显得尤为重要。Oracle数据库提供了一种高效的方法,即通过创建存储过程来实现分页功能,而Java作为...
在“JAVA与存储过程.txt”文件中,可能包含了具体的示例代码,解释了如何在Java中调用Oracle存储过程和函数,以及如何处理输入和输出参数。这些示例可能涉及到了`Connection`, `PreparedStatement`, `ResultSet`等...
JDBC调用Oracle存储过程** 调用Oracle存储过程通常使用`CallableStatement`。步骤如下: 1. **准备CallableStatement**:通过`Connection.prepareCall()`创建CallableStatement,传入调用存储过程的SQL格式字符串...
4. 使用Java的JDBC API调用这些存储过程,处理返回的游标结果。 这种技术在需要在应用程序中分批处理大量数据或者需要动态构建查询结果时非常有用。通过游标,我们可以灵活地控制对数据库的访问,同时避免一次性...
本文将深入探讨如何使用JDBC调用Oracle数据库的存储过程来实现增删改查操作。 首先,理解JDBC是Java与各种数据库交互的桥梁,它提供了一组API,允许程序员执行SQL语句并处理结果。Oracle数据库则是一种广泛使用的...
当你需要在应用程序中调用Oracle函数和存储过程时,通常会使用数据库驱动或ODBC/JDBC。比如在Delphi中(根据提供的文件名`*.dpr`, `*.dfm`等,可能是Delphi项目),你可以使用ADO或Oracle的OCI库。以下是一个Delphi...