`
dana.wang
  • 浏览: 13862 次
社区版块
存档分类
最新评论

如何在ADF 的Application Module中调用存储过程

阅读更多
1.调用无参数的存储过程
public void callProcWithNoArgs() {
getDBTransaction().executeCommand(
"begin devguidepkg.proc_with_no_args; end;");
}


2.调用含入参的存储过程
protected void callStoredProcedure(String stmt, Object[] bindVars) {
PreparedStatement st = null;
	try {
		// 1. Create a JDBC PreparedStatement for
		st = getDBTransaction().createPreparedStatement("begin "+stmt+";end;",0);
		if (bindVars != null) {
		// 2. Loop over values for the bind variables passed in, if any
			for (int z = 0; z < bindVars.length; z++) {
				// 3. Set the value of each bind variable in the statement
				st.setObject(z + 1, bindVars[z]);
			}
		}
		// 4. Execute the statement
		st.executeUpdate();
	}catch (SQLException e) {
		throw new JboException(e);
	}finally {
		if (st != null) {
		try {
			// 5. Close the statement
			st.close();
		}catch (SQLException e) {}
		}
	}
}
public void callProcWithThreeArgs(Number n, Date d, String v) {
	callStoredProcedure("devguidepkg.proc_with_three_args(?,?,?)",	new Object[]{n,d,v});
}



3.含入参的调用存储函数
public static int NUMBER = Types.NUMERIC;
public static int DATE = Types.DATE;
public static int VARCHAR2 = Types.VARCHAR;
protected Object callStoredFunction(int sqlReturnType, String stmt,Object[] bindVars) {
	CallableStatement st = null;
	try {
		// 1. Create a JDBC CallabledStatement
		st = getDBTransaction().createCallableStatement("begin ? := "+stmt+";end;",0);
		// 2. Register the first bind variable for the return value
		st.registerOutParameter(1, sqlReturnType);
		if (bindVars != null) {
			// 3. Loop over values for the bind variables passed in, if any
			for (int z = 0; z < bindVars.length; z++) {
				// 4. Set the value of user-supplied bind vars in the stmt
				st.setObject(z + 2, bindVars[z]);
			}
		}
		// 5. Set the value of user-supplied bind vars in the stmt
		st.executeUpdate();
		// 6. Return the value of the first bind variable
		return st.getObject(1);
	}catch (SQLException e) {
		throw new JboException(e);
	}finally {
		if (st != null) {
			try {
				// 7. Close the statement
				st.close();
			}catch (SQLException e) {}
			}
		}
	}
}

public String callFuncWithThreeArgs(Number n, Date d, String v) {
	return (String)callStoredFunction(VARCHAR2,"devguidepkg.func_with_three_args(?,?,?)",
new Object[]{n,d,v});
}

4.获取当前的数据库事务
private Connection getCurrentConnection() throws SQLException {
/* Note that we never execute this statement, so no commit really happens */
	PreparedStatement st = getDBTransaction().createPreparedStatement("commit",1);
	Connection conn = st.getConnection();
	st.close();
	return conn;
}

0
0
分享到:
评论

相关推荐

    基于Oracle ADF的应用程序开发过程

    ### 基于Oracle ADF 的应用程序开发过程详解 #### 一、Oracle ADF 概述 Oracle ADF (Application Development Framework) 是由 Oracle 公司推出的一款旨在简化 J2EE 应用程序开发复杂度的框架。ADF 的核心价值在于...

    ADF对象建立

    Application Module是ADF中的核心组件,负责处理业务逻辑和数据操作。通过建立Application Module,可以集成View对象,实现复杂的数据处理流程。 **步骤1:** 新建Application Module,并选择需要操作的View对象。 ...

    adf4351配置模板及配置软件

    在本压缩包文件中,我们有两个关键文件,一个是配置软件"ADF435x_v4_5_0.exe",另一个是ADF4351的设置文本文件"ADF4351_settings.txt",以及一份简要的使用说明"readme.txt"。 首先,"ADF435x_v4_5_0.exe"是专为ADF...

    ADF检验MATLAB程序.zip_ADF单位根检验_ADF检测_MATLAB adf_adftest matlab_adf检验

    标题中的“ADF检验MATLAB程序.zip”指的是一个包含MATLAB代码的压缩文件,用于执行Augmented Dickey-Fuller(ADF)单位根检验。ADF检验是统计学中一种常用的方法,用于判断时间序列数据是否具有单位根,即数据是否...

    ADF4351配置程序.zip_ADF4351_ADF4351程式_adf4350配置_adf4351 程序_adf4351配置

    在C51编程环境下,配置ADF4351通常需要对以下几个关键参数进行设置: 1. **参考频率**:ADF4351的内部振荡器可以提供基准频率,也可以通过外部晶体或VCXO(电压控制晶体振荡器)输入。选择合适的参考频率是确保输出...

    宽带PLL ADF41513(1)_ADF_acceptwcc_adf4360_ADF41513_ADf4360-7_

    标题中的“宽带PLL ADF41513(1)_ADF_acceptwcc_adf4360_ADF41513_ADf4360-7_”提及了两个关键器件:ADF41513和ADF4360-7。这两个都是高性能的频率合成器,在无线通信、测试设备以及各种信号处理应用中广泛使用。 ...

    ADF应用程序样例(中文)

    **ADF**(Application Development Framework)是由Oracle公司推出的一种Java EE应用开发框架,旨在简化企业级应用程序的开发过程。ADF主要面向Java开发人员,特别适用于构建复杂的Web应用。 ##### **1.1 架构** ...

    ADF界面使用多皮肤 ADF刷新界面方法

    2. **皮肤配置**:在ADF项目的`weblogic-application.xml`或`application.xml`配置文件中,可以指定默认皮肤和可用皮肤列表。开发者需要在此处添加新皮肤的相关信息,以便应用程序在启动时能够加载。 3. **界面...

    ADF4351.rar_ADF4351_ADF4351锁相环例程_adf4351双路输出_adf4351辅助输出

    在提供的压缩包中,"ADF4351.c"是源代码文件,包含了对ADF4351芯片的控制函数和例程,例如初始化、设置频率等操作。而"ADF4351.h"是头文件,定义了相关的数据结构、常量和函数原型,供主程序引用。通过这两个文件,...

    adf文件转TIFF文件

    本话题主要涉及"adf文件转TIFF文件",这是一种将特定的数据格式转换为广泛使用的图像格式的过程。下面我们将深入探讨ADF(Arc/Info Binary Grid)文件和TIFF(Tagged Image File Format)文件,以及如何进行这种转换...

    ADF学习教程

    1. 使用Eclipse或JDeveloper等集成开发环境,新建一个Fusion Web Application (ADF)。 2. 设置应用名称,创建模型层工程和视图控制器层。 3. 自定义model层和viewController层的包名。 4. 观察工程结构,会看到包含`...

    ADF应用程序样例

    ADF(Application Development Framework)是一种由Oracle提供的用于开发企业级Java应用的框架。它采用MVC(Model-View-Controller)架构模式,帮助开发者构建高效、可扩展的应用程序。 - **Model层**:主要负责...

    ADF资料 Charting with ADF Data Visualization Components

    4. **添加至应用模块**:在创建视图对象的最后一步,需要检查Add to Application Module选项,确保它默认添加到FOD Module应用模块中。这样,创建的视图对象就可以在应用中被其他组件引用,实现数据的共享和重用。 ...

    Adf基础 开发文档

    在Oracle Application Development Framework (ADF)中,基础开发涉及到一系列步骤,包括创建实体对象(Entity Objects, EO)、视图对象(View Objects, VO)以及它们之间的主从关系。这些组件是构建应用程序模型的...

    adf4159.rar_FMCW_adf4159

    压缩包内的“adf4159.c”文件很可能是一个C语言源代码,包含了使用ADF4159芯片的具体程序实现。通过分析这个源代码,我们可以深入理解如何配置ADF4159以实现1.5GHz的非FMCW输出,以及可能的寄存器设置和时序控制。...

    ADF应用程序样例入门文档

    【ADF应用程序样例入门文档】提供了对Oracle ADF(Application Development Framework)的简要介绍,适合初学者了解和快速入门。ADF是一个Java EE框架,主要用于构建企业级的Web应用程序。以下是对标题和描述中提到...

    ADF4110/ADF4111/ADF4112/ADF4113

    ### ADF4110/ADF4111/ADF4112/ADF4113 RF PLL 频率合成器 #### 特点 - **ADF4110**: 最大工作频率为550MHz。 - **ADF4111**: 最大工作频率为1.2GHz。 - **ADF4112**: 最大工作频率为3.0GHz。 - **ADF4113**: 最大...

    Oracle Application FrameworkApplication Development Framework

    Oracle Application Framework OAF and Application Development Framework ADF Oracle Application Framework OAF and Application Development Framework ADF Oracle Application Framework OAF and Application ...

    verilog配置ADF4355

    在数字信号处理领域,ADF4355是一款高性能的射频频率合成器,常用于通信系统、测试设备以及各种无线应用。它提供了宽广的频率范围、高精度和灵活的编程能力。本教程将深入探讨如何使用硬件描述语言Verilog对ADF4355...

    用Oracle ADF Essentials开发Web 应用

    创建ADF库、发布ADF库,以及在应用中使用ADF库都是创建企业应用时需要考虑的步骤。 上述过程涵盖了从安装和配置开发环境,到创建业务服务、任务流、页面,以及增加业务逻辑和构建企业应用的全部关键知识点。在整个...

Global site tag (gtag.js) - Google Analytics