XMLType是oracle数据库特有的数据类型可以用来存储一段xml,通过java(本文使用jdbc)插入XMLType根据sql中参数的类型通常有以下3种方法:
本文使用的数据库为oracle10.2.1
一、String,客户端只需传递一个字符串参数,创建xmltype的任务完全交给数据库,此方法数据库的压力最大
String sql = "insert into xmltable (XML) values(sys.xmlType.createXML(?))";
String xmldata = "<label>This is an XML fragment</label>";
ps.setString(1, xmldata);
ps.executeUpdate();
二、CLOB,在客户端创建好CLOB传入数据库端通过oracle数据库的XMLTYPE()函数构造成XMLType类型的值,此方法客户端和数据库端同时承担了创建xmltype的任务,因此数据库的压力居中
Connection conn = ... ;//获得Connection
PreparedStatement ps = ...;//获得PreparedSatement
String sql = "insert into xmltable (XML) values(XMLType(?))";
String xmldata = "<label>This is an XML fragment</label>";
//通过conn创建CLOB
CLOB tempClob = CLOB.createTemporary(conn, false, CLOB.DURATION_SESSION);
//打开CLOB
tempClob.open(CLOB.MODE_READWRITE);
//获得writer
Writer clobWriter = clob.setCharacterStream(100);
//写入数据
clobWriter.write(xmldata);
//刷新
clobWriter.flush();
//关闭writer
clobWriter.close();
//关闭CLOB
tempClob.close();
ps.setObject(1, tempClob);
ps.executeUpdate();
三、XMLType,客户端传递一个XMLType给数据库,此方法将创建xmltype的任务完全交给了客户端,因此数据库的压力最小
Connection conn = ... ;//获得Connection
PreparedStatement ps = ...;//获得PreparedSatement
String sql = "insert into xmltable (XML) values(?)";
String xmldata = "<label>This is an XML fragment</label>";
//创建一个XMLType对象
XMLType xmltype = XMLType.createXML(conn, xmldata);
ps.setObject(1, xmltype);
ps.executeUpdate();
以上三种方法通过插入20万条数据测试比较发现:
第一种方法:耗时最短,服务器cpu消耗最大
第二种方法:耗时最长,服务器cpu消耗居中
第三种方法:耗时居中,服务器cpu消耗最小
如果有谁知道其他方法请务必留言,感激不尽!
真诚希望朋友们能留下宝贵意见,不甚感激!
分享到:
相关推荐
在Java中调用WebService接口,主要涉及以下几个步骤: 1. **创建Service对象**:`Service`是Apache Axis库中的一个类,用于初始化并管理与WebService的连接。在上述代码中,我们创建了一个`Service`对象,并通过`...
本文将详细介绍使用CXF作为客户端调用Web服务的几种方法,并结合示例解释相关知识点。 1. **CXF客户端调用** CXF是一个开源的Java框架,它支持多种Web服务标准,包括JAX-WS和JAX-RS。对于客户端调用,CXF提供了一...
在Java中调用.NET编写的ASMX WebService是一种常见的跨平台交互方式,允许Java应用程序利用.NET框架提供的服务。本文将详细介绍如何使用Apache Axis库来实现这一功能,以及处理.NET WebService返回的对象,特别是...
- 设置 Web Service 的操作方法和远程方法调用的参数,包括操作名称、返回类型等。 - 最后,通过 call.invoke() 执行远程调用。 5. Web Service 的通信协议: 文档中提及使用 SOAP (Simple Object Access Protocol)...
其中,Java作为一种广泛应用的编程语言,在实现远程服务调用方面有着丰富的工具和技术支持。本文将基于提供的文件信息,详细解析Java如何调用远端服务器的相关知识点,特别关注WebService技术的应用。 #### 二、...
总结起来,Java调用Web服务主要涉及以下几个步骤:创建Service对象、设置目标地址、指定操作名称、定义参数和返回类型、调用服务并处理返回结果。这个过程通常依赖于Web服务的WSDL文档来获取正确配置信息。
本文详细介绍了两种常见的Java调用Webservice的方法:Axis和SOAP,并通过具体代码示例进行了说明。这两种方法各有优缺点,具体选择哪一种取决于实际应用场景的需求。例如,如果需要快速部署并且对性能有较高要求,则...
4. **执行SQL语句**:使用PreparedStatement的`setObject()`方法设置XMLType参数,然后执行INSERT或UPDATE语句将XML数据存入数据库。 5. **查询和提取数据**:使用SELECT语句从XMLType列中获取数据,然后将结果转换...
BetwixtXML是一种在Java中处理XML的库,它简化了对象到XML的序列化和反序列化过程。在MDDwsClient项目中,BetwixtXML被用于与Web服务交互,特别是在数据交换方面。本文将深入探讨BetwixtXML的使用,以及如何在...
Java 解析 XML 文件 DOM 解析是将 XML 文件全部载入到内存,组装成一颗 DOM 树,然后通过节点以及节点之间的关系来解析 XML文件,与平台无关,Java 提供的一种基础的解析 XML 文件的 API,理解较简单,但是由于...
7. **XML数据库操作**:有些数据库支持直接处理XML数据,比如SQL Server的`FOR XML`子句,Oracle的XMLType等。Java应用可以通过JDBC执行这些特定的SQL语句。 8. `XML_day01_1112_v2_all.zip_FILES`和`XML_day02_...
在安装方面,文档提到了几种不同的安装方法,包括系统需求的确认、工作站安装、基于服务器的安装和脚本安装。特别指出的是卸载过程,确保在需要时可以彻底移除软件并清除所有配置文件。 编写程序部分详细介绍了...
3. **XMLType**:XMLType是Oracle提供的一个特殊数据类型,它可以存储XML文档并提供与关系数据的互操作性。XMLType可以作为表的列类型,也可以作为独立的对象类型,使得XML数据可以参与到SQL查询和事务处理中。 4. ...
4. **处理响应**:解析返回的数据,通常是 XML 格式,然后转换为可操作的对象。 **配置文件** 在 Oracle 中,配置文件通常包含对 Web Service 的引用,包括 WSDL 地址、服务名称和端点等信息。在 JDeveloper 中,...
7. **XMLDB API**: Oracle提供了一系列的API,如Java、PL/SQL等,供开发者调用,以便于在应用程序中存取和操作XML数据。 8. **XML Schema支持**: Oracle9i支持XML Schema,用于定义XML文档的结构和数据类型,增强了...
这些文档主要以CHM(Compiled Help Manual)格式存在,这是一种Windows平台下常见的帮助文件格式,集成了索引、搜索和超链接功能,便于快速查找和学习Oracle的相关知识。 在Oracle11i中文帮助文档中,你可以找到...
##### (1).NET支持对象序列化的几种方式 .NET框架提供了多种序列化机制,它们各自有不同的应用场景和特点。 - **二进制序列化**: - **定义**:二进制序列化是一种快速且高效的序列化方式,它可以将对象转换成二...
Oracle对XML的支持主要体现在以下几个方面: 1. **XML类型**:Oracle提供了XMLType数据类型,可以直接在数据库中存储XML文档。这使得XML数据可以像关系数据一样被查询、更新和索引,同时保持其原有的结构和语义。 ...