Oracle数据库中增删集合元素的操作该如何实现呢?其实利用Java Function就可以轻松的实现,本文我们就主要介绍这一实现方法。
源程序如下:以下是代码片段:
import java.math.BigDecimal;
import java.sql.Array;
//import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import oracle.jdbc.*;
import oracle.sql.ARRAY;
import oracle.sql.ArrayDescriptor; public class OraTools {
static public Array addElementOfArray(ARRAY ary, Object e){
try {
Object[] bigs = null;
if(ary==null) bigs = new Object[0];
else bigs = (Object[]) ary.getArray();
for(int i=0; i
if(e.equals(bigs[i])){ return ary; }
Object[] objs = new Object[bigs.length+1];
for(int i=0; i
objs[objs.length-1] = e;
OracleConnection conn = (OracleConnection) DriverManager.getConnection("jdbc:default:connection:");
//((OracleConnection)conn.unwrap(OracleConnection.class))
//Array arr = conn.createARRAY(typeName.toUpperCase(), objs ); //11g r1
Array arr = new ARRAY(ArrayDescriptor.createDescriptor( ary.getSQLTypeName(), conn), conn, objs);
return arr;
} catch (SQLException ex) {
//Logger.getLogger(OraTools.class.getName())。log(Level.SEVERE, null, ex);
System.err.println("ERROR! addElementOfVarray: " + ex.getMessage());
return ary; } static public Array delElementOfArray(ARRAY ary, Object e){
try {
if( ary==null) return null;
Object[] bigs = (Object[]) ary.getArray();
ArrayList list = new ArrayList(bigs.length);
for(int i=0; i
if( ! e.equals(bigs[i])){ list.add(bigs[i]); }
if(list.size()==bigs.length) return ary;
Object[] objs = list.toArray();
OracleConnection conn = (OracleConnection) DriverManager.getConnection("jdbc:default:connection:");
//Array arr = conn.createARRAY(typeName.toUpperCase(), objs ); //11g r1
Array arr = new ARRAY(ArrayDescriptor.createDescriptor(ary.getSQLTypeName(), conn), conn, objs);
return arr;
} catch (SQLException ex) {
System.err.println("ERROR! addElementOfVarray: " + ex.getMessage());
return ary; }
}
然后发布:loadjava -f -v -user username/passwd -r OraTools.java建call spec:以下是代码片段:
CREATE OR REPLACE function addElementOfInt_nt(ary int_nt, dept_id NUMBER)
return int_nt AS LANGUAGE JAVA NAME 'zgdx.action.OraTools.addElementOfArray(java.sql.Array, java.lang.Object)
分享到:
相关推荐
通过以上步骤,你可以开始学习如何使用Java实现对Oracle数据库的增删改查操作。在实际开发中,还需要学习更多高级概念,如JPA、MyBatis等ORM框架,以及SQL优化、数据库设计等知识。希望本教程能为你开启Java与Oracle...
### JAVA 使用数据库连接池连接Oracle数据库全代码解析 #### 一、概述 本文将详细介绍如何在Java项目中使用Apache DBCP(Database Connection Pool)来连接Oracle数据库,并提供完整的示例代码。通过这种方式,我们...
本文将详细介绍如何结合这两种技术实现在Java中对MySQL、SQL Server或Oracle数据库进行动态的增删改查操作。 首先,Java反射机制允许我们在运行时检查类、接口、字段和方法的信息,甚至可以动态调用方法和修改字段...
在Oracle数据库中,存储过程是一种预编译的SQL和PL/SQL代码集合,可以在数据库中存储和重复调用,以执行特定的任务。Java与Oracle的集成使得开发者可以用Java语言来编写存储过程,提供了更大的灵活性和可移植性。...
本文将详细介绍如何在Java中实现对Oracle存储过程的调用,以执行增删改查(CRUD)操作。 首先,确保你已安装了Oracle JDBC驱动(如ojdbc.jar),并将它添加到Java项目的类路径中。Oracle JDBC驱动提供了与Oracle...
在这个主题中,“ssh框架完成对oracle数据库的增删查改”指的是使用SSH框架来操作Oracle数据库,实现数据的基本CRUD(Create, Read, Update, Delete)功能。 首先,Struts2是MVC(Model-View-Controller)架构模式...
Java培训Oracle数据库是针对开发者和IT专业人士的重要学习资源,它涵盖了Java编程与Oracle数据库的集成使用。Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,而Java作为一种强大的、跨平台的编程语言,...
Oracle数据库提供了一些高级数据类型,如ARRAY和TABLE,这些类型能够帮助我们实现批量入库操作,从而提高数据处理的效率。本篇将详细介绍如何利用Java操作Oracle数据库,特别是如何利用ARRAY和TABLE类型进行批量插入...
当我们需要在Java应用程序中与Oracle数据库进行交互时,通常会涉及到对数据库的增删改查(CRUD)操作。在这个入门实例中,我们将重点探讨如何通过Java调用Oracle的存储过程来实现这些基本操作,并结合使用DOM4J解析...
在Java编程语言中,Oracle数据库是一个广泛使用的存储和管理数据的系统,尤其在企业级应用中占据重要地位。本指南将深入探讨如何在Java应用程序中有效地集成和操作Oracle数据库。 一、Oracle数据库简介 Oracle...
开发者可以通过JDBC(Java Database Connectivity)接口在JSP中与Oracle数据库进行通信,执行SQL语句,实现数据的增删改查。 本书提供的资源包含了源代码和演示,这对于实践学习至关重要。源代码部分可能涵盖了一...
Oracle数据库驱动包是一个集合,包含了Oracle公司为Java应用程序提供与Oracle数据库进行交互的Java Database Connectivity (JDBC)驱动程序。这些驱动程序使得开发者能够利用Java编程语言来访问、操作和管理Oracle...
综上所述,Java核心技术、Oracle数据库和XML共同构建了现代软件开发的基础,它们之间的结合能够实现复杂的数据处理、持久化存储以及高效的数据交换,对于理解和掌握这些知识,对于任何IT专业人士来说都是至关重要的...
在Oracle数据库环境中,实现Socket监听数据库推送信息是一种实时获取数据变化的方法。这通常涉及到数据库触发器、存储过程以及Java编程的结合使用。以下是对这个主题的详细解释: 1. **Oracle触发器**: - 触发器...
同步CDC通常使用变化表和用户视图来实现,其中数据变化被写入变化表,并可通过数据库视图获取一致性的数据变化集合。 - **创建同步CDC模式**:主要步骤包括创建变化表、配置触发器等。同步CDC模式的优势在于配置...
在这个项目中,学生通常会学习如何利用Oracle数据库存储和管理学生成绩,以及如何使用Java作为编程语言来构建一个交互式的系统界面。下面我们将详细探讨这个项目中的关键知识点。 1. **Oracle数据库**:Oracle是...
《JSP+Oracle数据库组建动态网站经典实例》是一份针对Web开发者的宝贵资源,它深入浅出地展示了如何使用Java Server Pages(JSP)技术与Oracle数据库相结合,构建功能丰富的动态网站。这份实例集合涵盖了多个实际...
在Oracle 10g中,Java开发者通过JDBC驱动程序与数据库进行交互,执行SQL语句,处理结果集,实现数据的增删改查操作。JDBC驱动主要有四种类型:Type 1、Type 2、Type 3和Type 4,其中Type 4驱动(如Oracle Thin ...
本主题主要探讨如何通过图形用户界面(GUI)实现数据库的增、删、改的可视化操作,以及相关的编程技术和工具,特别是使用Java语言的情况。 GUI界面设计的目标是提供直观且友好的操作环境,使得用户可以通过点击、...