PreparedStatement对象可以使用输入和输出流来提供参数数据,这使得开发者可以将整个文件放入可以保存大值的数据序列,例如Text和BLOB数据类型。
有以下几种方法可以用于流式传输数据
- setAsciiStream() 此方法用于提供大的ASCII值;
- setCharacterStream() 此方法用于提供大型的UNICODE值;
- setBinaryStream()此方法用于提供较大的二进制值。
对于这三个方法,在操作文本文件时,用法类似,使用任何哪个都可以;但是对于操作图片,需要使用setBinaryStream()方法。
setXXXXStream()方法除了参数占位符之外还需要额外的两个参数,文件流和文件大小。
例程:将XML文件Data.xml上传到tb_xml数据表中,下面是xml文件的内容(没有任何意义,仅作测试)
<?xml version="1.0" encoding ="UTF-8"?>
<Employee>
<id>100</id>
<first>Zara</first>
<last>Ali</last>
<salary>1000</salary>
<Dob>18-08-1978</Dob>
</Employee>
代码实现
package com.zyc.jdbc;
import java.io.ByteArrayOu