`
wuhuizhong
  • 浏览: 681110 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

用Java实现Oracle数据库增删集合元素

 
阅读更多

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数据库

    通过以上步骤,你可以开始学习如何使用Java实现对Oracle数据库的增删改查操作。在实际开发中,还需要学习更多高级概念,如JPA、MyBatis等ORM框架,以及SQL优化、数据库设计等知识。希望本教程能为你开启Java与Oracle...

    JAVA 使用数据库连接池连接Oracle数据库全代码

    ### JAVA 使用数据库连接池连接Oracle数据库全代码解析 #### 一、概述 本文将详细介绍如何在Java项目中使用Apache DBCP(Database Connection Pool)来连接Oracle数据库,并提供完整的示例代码。通过这种方式,我们...

    Java反射泛型,实现数据库的动态增删改查等功能

    本文将详细介绍如何结合这两种技术实现在Java中对MySQL、SQL Server或Oracle数据库进行动态的增删改查操作。 首先,Java反射机制允许我们在运行时检查类、接口、字段和方法的信息,甚至可以动态调用方法和修改字段...

    用Java编写Oracle数据库存储过程

    在Oracle数据库中,存储过程是一种预编译的SQL和PL/SQL代码集合,可以在数据库中存储和重复调用,以执行特定的任务。Java与Oracle的集成使得开发者可以用Java语言来编写存储过程,提供了更大的灵活性和可移植性。...

    ssh框架完成对oracle数据库的增删查改

    在这个主题中,“ssh框架完成对oracle数据库的增删查改”指的是使用SSH框架来操作Oracle数据库,实现数据的基本CRUD(Create, Read, Update, Delete)功能。 首先,Struts2是MVC(Model-View-Controller)架构模式...

    java调用oracle存储过程实现增删改查

    本文将详细介绍如何在Java中实现对Oracle存储过程的调用,以执行增删改查(CRUD)操作。 首先,确保你已安装了Oracle JDBC驱动(如ojdbc.jar),并将它添加到Java项目的类路径中。Oracle JDBC驱动提供了与Oracle...

    Java培训 Oracle数据库

    Java培训Oracle数据库是针对开发者和IT专业人士的重要学习资源,它涵盖了Java编程与Oracle数据库的集成使用。Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,而Java作为一种强大的、跨平台的编程语言,...

    java操作Oracle数据库——ARRAY、TABLE类型批量入库

    Oracle数据库提供了一些高级数据类型,如ARRAY和TABLE,这些类型能够帮助我们实现批量入库操作,从而提高数据处理的效率。本篇将详细介绍如何利用Java操作Oracle数据库,特别是如何利用ARRAY和TABLE类型进行批量插入...

    java调用oracle存储过程入门实例 增删改查

    当我们需要在Java应用程序中与Oracle数据库进行交互时,通常会涉及到对数据库的增删改查(CRUD)操作。在这个入门实例中,我们将重点探讨如何通过Java调用Oracle的存储过程来实现这些基本操作,并结合使用DOM4J解析...

    Java Oracle数据库开发指南

    在Java编程语言中,Oracle数据库是一个广泛使用的存储和管理数据的系统,尤其在企业级应用中占据重要地位。本指南将深入探讨如何在Java应用程序中有效地集成和操作Oracle数据库。 一、Oracle数据库简介 Oracle...

    jsp+oracle数据库开发与实例

    开发者可以通过JDBC(Java Database Connectivity)接口在JSP中与Oracle数据库进行通信,执行SQL语句,实现数据的增删改查。 本书提供的资源包含了源代码和演示,这对于实践学习至关重要。源代码部分可能涵盖了一...

    Oracle数据库驱动包

    Oracle数据库驱动包是一个集合,包含了Oracle公司为Java应用程序提供与Oracle数据库进行交互的Java Database Connectivity (JDBC)驱动程序。这些驱动程序使得开发者能够利用Java编程语言来访问、操作和管理Oracle...

    java核心技术 oracle数据库 xml

    综上所述,Java核心技术、Oracle数据库和XML共同构建了现代软件开发的基础,它们之间的结合能够实现复杂的数据处理、持久化存储以及高效的数据交换,对于理解和掌握这些知识,对于任何IT专业人士来说都是至关重要的...

    oracle Socket监听数据库推送信息

    在Oracle数据库环境中,实现Socket监听数据库推送信息是一种实时获取数据变化的方法。这通常涉及到数据库触发器、存储过程以及Java编程的结合使用。以下是对这个主题的详细解释: 1. **Oracle触发器**: - 触发器...

    oracle课程设计—基于java的学生成绩管理系统

    在这个项目中,学生通常会学习如何利用Oracle数据库存储和管理学生成绩,以及如何使用Java作为编程语言来构建一个交互式的系统界面。下面我们将详细探讨这个项目中的关键知识点。 1. **Oracle数据库**:Oracle是...

    JSP+Oracle数据库组建动态网站经典实例.

    《JSP+Oracle数据库组建动态网站经典实例》是一份针对Web开发者的宝贵资源,它深入浅出地展示了如何使用Java Server Pages(JSP)技术与Oracle数据库相结合,构建功能丰富的动态网站。这份实例集合涵盖了多个实际...

    Oracle 10g数据库Java开发-源代码

    在Oracle 10g中,Java开发者通过JDBC驱动程序与数据库进行交互,执行SQL语句,处理结果集,实现数据的增删改查操作。JDBC驱动主要有四种类型:Type 1、Type 2、Type 3和Type 4,其中Type 4驱动(如Oracle Thin ...

    GUI界面和数据库的增删改可视化操作

    本主题主要探讨如何通过图形用户界面(GUI)实现数据库的增、删、改的可视化操作,以及相关的编程技术和工具,特别是使用Java语言的情况。 GUI界面设计的目标是提供直观且友好的操作环境,使得用户可以通过点击、...

Global site tag (gtag.js) - Google Analytics