`
yadsun
  • 浏览: 181337 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java操作XMLType的几种方法

阅读更多
     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消耗最小

如果有谁知道其他方法请务必留言,感激不尽!

皇冠信誉◆清风通讯-黑莓体验中心-BLACKBERRY全面支持货到付款

真诚希望朋友们能留下宝贵意见,不甚感激!

3
0
分享到:
评论

相关推荐

    Java调用WebService接口的方法

    在Java中调用WebService接口,主要涉及以下几个步骤: 1. **创建Service对象**:`Service`是Apache Axis库中的一个类,用于初始化并管理与WebService的连接。在上述代码中,我们创建了一个`Service`对象,并通过`...

    cxf_axis_xfire客户端调用的几种方法.docx

    本文将详细介绍使用CXF作为客户端调用Web服务的几种方法,并结合示例解释相关知识点。 1. **CXF客户端调用** CXF是一个开源的Java框架,它支持多种Web服务标准,包括JAX-WS和JAX-RS。对于客户端调用,CXF提供了一...

    java处理.net webservice返回的对象

    在Java中调用.NET编写的ASMX WebService是一种常见的跨平台交互方式,允许Java应用程序利用.NET框架提供的服务。本文将详细介绍如何使用Apache Axis库来实现这一功能,以及处理.NET WebService返回的对象,特别是...

    java_Webservice.pdf

    - 设置 Web Service 的操作方法和远程方法调用的参数,包括操作名称、返回类型等。 - 最后,通过 call.invoke() 执行远程调用。 5. Web Service 的通信协议: 文档中提及使用 SOAP (Simple Object Access Protocol)...

    java调用远端服务器

    其中,Java作为一种广泛应用的编程语言,在实现远程服务调用方面有着丰富的工具和技术支持。本文将基于提供的文件信息,详细解析Java如何调用远端服务器的相关知识点,特别关注WebService技术的应用。 #### 二、...

    java调用webService.pdf

    总结起来,Java调用Web服务主要涉及以下几个步骤:创建Service对象、设置目标地址、指定操作名称、定义参数和返回类型、调用服务并处理返回结果。这个过程通常依赖于Web服务的WSDL文档来获取正确配置信息。

    Java+Webservice调用方式详解

    本文详细介绍了两种常见的Java调用Webservice的方法:Axis和SOAP,并通过具体代码示例进行了说明。这两种方法各有优缺点,具体选择哪一种取决于实际应用场景的需求。例如,如果需要快速部署并且对性能有较高要求,则...

    使用JDBC实现XML文档到Oracle9i数据库的存取.pdf

    4. **执行SQL语句**:使用PreparedStatement的`setObject()`方法设置XMLType参数,然后执行INSERT或UPDATE语句将XML数据存入数据库。 5. **查询和提取数据**:使用SELECT语句从XMLType列中获取数据,然后将结果转换...

    MDDwsClient(BetwixtXML的使用)

    BetwixtXML是一种在Java中处理XML的库,它简化了对象到XML的序列化和反序列化过程。在MDDwsClient项目中,BetwixtXML被用于与Web服务交互,特别是在数据交换方面。本文将深入探讨BetwixtXML的使用,以及如何在...

    XMLParsing:XML,解析,Java

    Java 解析 XML 文件  DOM 解析是将 XML 文件全部载入到内存,组装成一颗 DOM 树,然后通过节点以及节点之间的关系来解析 XML文件,与平台无关,Java 提供的一种基础的解析 XML 文件的 API,理解较简单,但是由于...

    xml读写入门教程

    7. **XML数据库操作**:有些数据库支持直接处理XML数据,比如SQL Server的`FOR XML`子句,Oracle的XMLType等。Java应用可以通过JDBC执行这些特定的SQL语句。 8. `XML_day01_1112_v2_all.zip_FILES`和`XML_day02_...

    PLSQL(中文教程).pdf

    在安装方面,文档提到了几种不同的安装方法,包括系统需求的确认、工作站安装、基于服务器的安装和脚本安装。特别指出的是卸载过程,确保在需要时可以彻底移除软件并清除所有配置文件。 编写程序部分详细介绍了...

    Oracle XML开发手册

    3. **XMLType**:XMLType是Oracle提供的一个特殊数据类型,它可以存储XML文档并提供与关系数据的互操作性。XMLType可以作为表的列类型,也可以作为独立的对象类型,使得XML数据可以参与到SQL查询和事务处理中。 4. ...

    oracle webservice实例

    4. **处理响应**:解析返回的数据,通常是 XML 格式,然后转换为可操作的对象。 **配置文件** 在 Oracle 中,配置文件通常包含对 Web Service 的引用,包括 WSDL 地址、服务名称和端点等信息。在 JDeveloper 中,...

    Oracle9i XML网络数据库开发指南(PDF)

    7. **XMLDB API**: Oracle提供了一系列的API,如Java、PL/SQL等,供开发者调用,以便于在应用程序中存取和操作XML数据。 8. **XML Schema支持**: Oracle9i支持XML Schema,用于定义XML文档的结构和数据类型,增强了...

    Oracle11i中文帮助文档4

    这些文档主要以CHM(Compiled Help Manual)格式存在,这是一种Windows平台下常见的帮助文件格式,集成了索引、搜索和超链接功能,便于快速查找和学习Oracle的相关知识。 在Oracle11i中文帮助文档中,你可以找到...

    C#对象序列化与反序列化

    ##### (1).NET支持对象序列化的几种方式 .NET框架提供了多种序列化机制,它们各自有不同的应用场景和特点。 - **二进制序列化**: - **定义**:二进制序列化是一种快速且高效的序列化方式,它可以将对象转换成二...

    Oracle与XML开发

    Oracle对XML的支持主要体现在以下几个方面: 1. **XML类型**:Oracle提供了XMLType数据类型,可以直接在数据库中存储XML文档。这使得XML数据可以像关系数据一样被查询、更新和索引,同时保持其原有的结构和语义。 ...

Global site tag (gtag.js) - Google Analytics