java如何将一个List传入Oracle存储过程
来源:互联网 发布:淘宝刷100销量多少钱 编辑:程序博客网 时间:2024/05/22 04:25
java如何将一个List传入Oracle存储过程,例子如下:
数据库端建一个PL/SQL的数组。
CREATE OR REPLACE TYPE tables_array AS VARRAY(100) OF VARCHAR2(32) ;drop table test purge;create table test( name varchar2(32));create or replace procedure t_list_to_p(arr_t in tables_array) isbegin for i in arr_t.first .. arr_t.last loop insert into test values(arr_t(i)); end loop; commit;end t_list_to_p;
java代码:
import java.sql.CallableStatement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import oracle.sql.ARRAY;import oracle.sql.ArrayDescriptor;public class TestListToProcedure { static final String driver_class = "oracle.jdbc.driver.OracleDriver"; static final String connectionURL = "jdbc:oracle:thin:@10.150.15.150:1521:orcl"; static final String userID = "test"; static final String userPassword = "test"; public void runTest() { Connection con = null; CallableStatement stmt = null ; try { Class.forName (driver_class).newInstance(); con = DriverManager.getConnection(connectionURL, userID, userPassword); stmt = con.prepareCall("{call t_list_to_p(?)}"); ArrayDescriptor descriptor = ArrayDescriptor.createDescriptor("TABLES_ARRAY",con); List list = new ArrayList(); list.add("张三"); list.add("李四"); list.add("王五"); ARRAY array = new ARRAY(descriptor,con,list.toArray()); stmt.setArray(1, array); stmt.execute(); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); }finally{ if(stmt != null){ try {stmt.close();} catch (SQLException e) {e.printStackTrace();} } if(con != null){ try { con.close();} catch (SQLException e) {e.printStackTrace();} } } } public static void main(String[] args) { TestListToProcedure testListToProcedure = new TestListToProcedure(); testListToProcedure.runTest(); }}
0 0
- java如何将一个List传入Oracle存储过程
- 将Java List 传入到Oracle DB的存储过程
- java如何将一组对象传入Oracle存储过程
- Oracle存储过程传入类似java中list、数组类型的参数并使用
- oracle 存储过程 传入时间
- Java中传入数组调用oracle存储过程
- JAVA调用Oracle存储过程传入结构化参数
- java ibatis调动oracle传入clob参数的存储过程
- Java调用Oracle存储过程传入数组参数的方法
- 如何在JAVA程序中使用Struct一次传入多条数据给Oracle的存储过程。
- 如何在JAVA程序中使用Struct一次传入多条数据给Oracle的存储过程
- java oracle存储过程/函数(1):字符串数组、int数组传入存储过程
- 一个传入查询的存储过程
- .net 如何将datatable作为参数传入sql的存储过程
- java 调用存储过程 传入数组
- JAVA调用存储过程--传入集合参数
- oracle存储过程如何返回list,并用jdbc调用
- java中的arrayList传入oracle中的以数组(array)为参数的存储过程
- day1-Java基础语法--Java循环语句
- 在Eclipse中使用gradle构建问题小结
- iOS深入学习(创建静态库static library)
- ios学习笔记--(c基础题1)
- UIButton 上设置 self.imageView self.titleLabel
- java如何将一个List传入Oracle存储过程
- 配置redis外网可访问
- HTML5 FileReader
- #leetcode#Missing Ranges
- C++设计模式之组合模式(Composite)
- 2010年下半年软件评测师(下午)试题分析与解答-2
- 32位 64位
- zz同步和异步的区别(浅显易懂)
- C Runtime Library 的来历