打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

【IT168 技术】Oracle数据库中增删集合元素的操作该如何实现呢?其实利用Java Function就可以轻松的实现,本文我们就主要介绍这一实现方法。

源程序如下:

以下是代码片段:

package zgdx.action; 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;

else bigs = (Object[]) ary.getArray();

for(int i=0; i

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 {

Object[] bigs = (Object[]) ary.getArray();

ArrayList list = new ArrayList(bigs.length);

for(int i=0; i

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)

return java.sql.Array;


测试:update test1 set cates = addElementOfInt_nt(cates, 10) where code=1;

关于Oracle数据库中增删集合元素的Java Function的实现方法就介绍到这里了,希望本次的介绍能够对您有所帮助。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Oracle把Array类型作为参数传入存储过程示例
Oracle存储过程实现JAVA中的LIST输入参数
JDBC工具类(DButil)
eclipse连接oracle
Oracle JDBC中的语句缓存
PHP连接MySQL数据库并以json格式输出
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服