java 读取 xmltype_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 = "This is

an XML fragment";

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 = "This is

an XML fragment";

//通过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 = "This is an

XML fragment";

//创建一个XMLType对象

XMLType xmltype = XMLType.createXML(conn, xmldata);

ps.setObject(1, xmltype);

ps.executeUpdate();

以上三种方法通过插入20万条数据测试比较发现:

第一种方法:耗时最短,服务器cpu消耗最大

第二种方法:耗时最长,服务器cpu消耗居中

第三种方法:耗时居中,服务器cpu消耗最小

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java运算符优先级举例_列举出java运算符的优先级

展开全部优先级 操作符 含义 关联性32313133353236313431303231363533e59b9ee7ad9431333337613833 用法----------------------------------------------------------------1 [ ] 数组下标 左 array_name[expr]. 成员选择 左 o…

java websocket ie8_websocket兼容IE8

最近由于项目需要做实时聊天功能,选择了html5的websocket方案(事实上node.jssocket.io兼容性更好,个人觉得这个方案更加完美),websocket实现实时聊天的demo网上很多,但是兼容IE8的资料却很少,这块折腾了很久。websoket…

java newfile() bug_java初学者小白?遇到BUG就慌了?有关java异常的十大问题详解!...

1.已检查与未检查简而言之,必须在方法中显式捕获已检查的异常,或在方法的throws子句中声明该异常。未检查的异常是由无法解决的问题引起的,例如被零除,空指针等。检查的异常特别重要,因为您希望使用API的其他开发人员知…

java 日期操作工具类_java8操作日期的工具类

java8操作日期的工具类一、方法概览该包的API提供了大量相关的方法,这些方法一般有一致的方法前缀:of:静态工厂方法。parse:静态工厂方法,关注于解析。get:获取某些东西的值。is:检查某些东西的…

mysql拦截器实现crud_Mybatis自定义SQL拦截器

本博客介绍的是继承Mybatis提供的Interface接口,自定义拦截器,然后将项目中的sql拦截一下,打印到控制台。先自定义一个拦截器package com.muses.taoshop.common.core.database.config;import org.apache.commons.lang3.StringUtils;import or…

python 桌面提醒_使用Python获取桌面通知

开发一款可提醒您诸如警报或待办事项清单等计划的应用程序真是太好了。在本文中,我将引导您逐步编写如何使用Python获取桌面通知的程序。桌面通知应用程序如何工作?您今天将要学习开发的桌面通知应用程序的主要目的是不断提醒我们我们一天中需要完成的不…

java线程同步的实现_【Java多线程系列三】实现线程同步的方法

packagecom.concurrent.test;importjava.util.Stack;importjava.util.concurrent.ArrayBlockingQueue;importjava.util.concurrent.BlockingQueue;importjava.util.concurrent.locks.Condition;importjava.util.concurrent.locks.ReentrantLock;/*** Description: 三种方法实现…

python建立py文件夹过程_Pycharm创建python文件自动添加日期作者等信息(步骤详解)...

百度AI接口的调用方法不必多介绍。官网地址 人流量统计新建AipBodyAnalysisfrom aip import AipBodyAnalysis""" 你的 APPID AK SK """APP_ID 你的 App IDAPI_KEY 你2021-02-03 14:24:01本文主要介绍了在python3.9下如何安装scrapy的方法&…

python父亲节祝福_父亲节祝福语精选简短 父亲节祝福语简短独特

1.您的坚忍不拔和铮铮硬骨是我的榜样,我从您那儿汲取到奋发的力量,走过挫折,迈向成功,爸爸,您是我永远的榜样,我爱您!祝您节日快乐!2.您的怀抱,是我的小天地;…

redis java应用_redis在JAVA的简单应用

reids是一个高性能的key-value数据库。它存储的value支持各种类型的数据,如String,List,set,hash类型。在此基础上,各种不同方式的排序。本文不具体争对redis数据库的各种命令,而是在Java实现简单的调用。1. //初始化R…

java安装 hello_安装JAVA步骤,并编写HELLOWORLD程序

安装Java步骤,并编写helloworld程序1.安装JDK(Java Development Kit)JDK是Java开发工具包(Java Development Kit)的缩写。它是一种用于构建在J Java 平台上发布的应用程序、applet和组件的开发环境。即编写Java程序必须有JDK,它提供了编译Java和运行Java…

java实现Fmeasure计算_聚类结果的评估指标及其JAVA实现

一. 前言又GET了一项技能。在做聚类算法的时候,由于要评估所提出的聚类算法的好坏,于是需要与一些已知的算法对比,或者用一些人工标注的标签来比较,于是用到了聚类结果的评估指标。我了解了以下几项。TP:是指被聚在一类的两个量被…

java随机产生坐标点_刚学JAVA不久,问一下怎么把这个程序实现随机啊,不是按照坐标...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼int i;int z0;int j,h0,k0;int AppletWidch,AppletHeight,currentImage;Image Animation[],SerialImage,OffScreen;Thread newThread;Graphics drawOffScreen;MediaTracker MT;ImageProducer Source;CropImageFilter CutImage;publ…

ubuntu安装java的rpm_ubuntu安装jdk-6u45-linux-x64-rpm.bin

1、参考网址:ZC: 网页内容保存于 “百度云 CodeSkill33 --> 全部文件 >来自网页 > Linux > ubuntu > ubuntu安装jdk-6u45-linux-x64-rpm.bin__Work_20160115_0851.rar”2、(1)、我是将jdk-6u45-linux-x64.bin放在 "/home"下的(2)、命令&qu…

java窗体容器坐标_Java的屏幕坐标是以像素为单位的,容器的左下角被确定为坐标的起点。...

屏单位的的左定为的起点Despite ________ difficulties, they did not find the life in London unpleasant.幕坐As soon as I was ____________, I began to have second thoughts about leaving.标被确The girl was uncertain what to do, or what tone of voice to_________…

mysql 相同字段相减_mysql datetime 类型字段相减

背景:今天测试一个mariadb中datatime类型的字段相减问题,直接用2个字段相减得到的数值并不是秒,很坑。后面百度了一些方法,说是使用 DateDiff 函数,这个函数文档还说有3个参数,但是3个参数运行是报错的。要…

java类 连接时机_java类的加载时机

类加载它直接表现出来的代码应该是 ClassLoader.getSystemClassLoader().loadClass("com.my.test.AbcClass")。所以具 体完成类的加载工作的,是常被提到的类加载器ClassLoader,它就是专门干这件事的。“类的加载”具体而言就是指将类.class文件…

Java最短路径类型_JAVA 最短路径

1.从景石出发,步行游览以下景点:①游客服务中心,②阳光草坪,③森林小剧场,④儿童科普体验区,⑤儿童戏水场,⑥湿地博物馆,⑦湿地商业街。建立数学模型,找出从景石出发,到达…

java 外螺旋矩阵_螺旋矩阵的java实现

今天参加了腾讯实习生的在线笔试,螺旋矩阵的问题,算是ACM的入门题吧想到了有两种实现递归和非递归输入:3输出:1 2 3 8 9 4 7 6 5输入:5输出:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 8…

1445.32php,nginx实现mysql的负载均衡

1.下载module模块$ tar -xzvf nginx-1.2.1.tar.gz$ cd nginx-1.2.1/$ patch -p1 < /path/to/nginx_tcp_proxy_module/tcp.patch /path是指nginx_tcp_proxy_module路径$ ./configure --add-module/usr/local/ngx_cache_purge-1.4--prefix/usr/local/nginx --with-http_stub…