手机版

甲骨文一滴字段类型文件读写实例

时间:2021-08-03 来源:互联网 编辑:宝哥软件园 浏览:

类型:数据库类大小:4210万语言:中文评分:5.0标签:立即下载神谕的一滴字段比较特殊,他比长的字段的性能要好很多,可以用来保存例如图片之类的二进制数据。

准备环境:JDK爪哇甲骨文数据库编程驱动程序

创建斑点测试表

创建表blob_test(

身份证号码,

名为瓦尔查尔(50),

单词块

)

先插入空白数据然后执行更新

代码:

打包sql//Oracle的数据库编程连接管理需要Oracle Jdbc驱动程序

导入Java。SQL。连接;

导入Java。SQL。Drivermanager

公共类DBConnection {

公共静态连接getDBConnection()引发异常{

连接con=null

字符串驱动程序='甲骨文。JDBC。司机。oracledriver ';//数据库驱动程序

字符串URL=' JDBC : Oracle : hin : @ localhost :1521: orcl ';//数据库网址

字符串用户="系统";//数据库名称

字符串密码=' 3edc4rfv//数据库密码

Class.forName(驱动程序);

con=Drivermanager。获取连接(网址、用户、密码);

返回精读

}

}

-

打包结构化查询语言

导入Java。io。*;

导入Java。SQL。*;

导入甲骨文。SQL。BLOB

导入sql .数据库连接类

公共类bolb_test {

公共静态void main(字符串[]参数)引发SQLException {

连接con=null

长启动=系统。current millis();//计算运行时间

CallableStatement PStmt=null

InputStream fin=null

OutputStream outStream=null

字符串路径=' D: \ \ test.txt

文件文件=新文件(路径);

尝试{

con=dbconnection。getdb connection();

con . setautocommit(false);

字符串sql='插入斑点测试值(?)';

//插入数据库

pstmt=con .准备调用(SQL);

for(int I=0;i10(一)

{

字符串名称=' Young _ ' I;

int id=1;

pstmt.setInt(1,id I);

pstmt.setString(2,名称);

BLOB字=BLOB。empty _ lob();

pstmt.setBlob(3,字);

pstmt。execute();

}

系统。出去。打印(' instert ok \ n ');

语句stmt=con . CreateStatement();

ResultSet rs=stmt.executeQuery('从斑点测试中选择id、单词进行更新');

//获取要更新的特殊列和行

而(RS。next()){ 0

//系统。出去。打印(RS。GetInt(1)RS。getStrIng(2)' \ n ');//打印选择用于调试的结构化查询语言

BLOB BLOB=(BLOB)RS。get blob(' word ');

outStream=blob。getbinaryoutputstream();

fin=新文件输入流(文件);//将文件放入流中

字节[] b=新字节[blob。getbuffersize()];

int len=0;

while ((len=fin.read(b))!=-1) {

outStream.write(b,0,len);

}

芬。close();

外流。flush();

外流。close();

}

系统。出去。打印(' \ n更新正常\ n ');

con.commit();

}

捕获(例外e){ 0

e。print stack trace();

}

con . close();

长端=系统。current millis();

系统。出去。println(结束-开始);

}

}

读取一滴文件

打包结构化查询语言

导入Java。io。*;

导入Java。SQL。*;

导入甲骨文。SQL。BLOB

导入sql .数据库连接类

公共类getbolb_test {

公共静态void main(字符串[]参数)引发SQLException {

连接con=null

长启动=系统。current millis();//计算运行时间

字符串路径=' D: \ \ test1.txt

文件文件=新文件(路径);

尝试{

con=dbconnection。getdb connection();

con . setautocommit(false);

语句stmt=con . CreateStatement();

结果集RS=stmt。执行查询('选择id,blob_test中的单词,其中id=10’);

//从表中获取一滴

if(RS。next()){ 0

BLOB BLOB=(BLOB)RS。get blob(' word ');

//获取单词列

文件输出流输出=新文件输出流(文件);

//定义文件输出流

InputStream输入=blob。getbinary stream();//将一滴放入输入

字节[]缓冲区=新字节[blob。getbuffersize()];

//如果使用1024,将会丢失一些字节

int len=0;

while ((len=input.read(buffer))!=-1) {

//将所有输入流转换为输出文件流

output.write(buffer,0,len);

输入。close();

输出。flush();

输出。close();

}

系统。出去。打印(' \ n wnload ok \ n ');

}

}

捕获(例外e){ 0

e。print stack trace();

}

con . close();

长端=系统。current millis();

系统。出去。println(结束-开始);

}

}

版权声明:甲骨文一滴字段类型文件读写实例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。