一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - 使用JDBC4.0操作Oracle中BLOB類型的數據方法

使用JDBC4.0操作Oracle中BLOB類型的數據方法

2019-12-30 15:00excalimax Oracle

這篇文章主要介紹了使用JDBC4.0操作Oracle中BLOB類型數據的方法,我們需要使用ojdbc6.jar包,本文介紹的非常詳細,需要的朋友可以參考下

在JDBC4.0推出后,它的從多的特性正在受到廣泛地關注。下面通過本文給大家介紹JDBC4.0操作Oracle中BLOB類型的數據的方法。

需要的jar包

使用ojdbc6.jar

在/META-INF/MANIFEST.MF里可以看到Specification-Version: 4.0

建表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
create sequence seq_blobmodel_id start with 1 increment by 1 nocache;
create table blobmodel
(
blobid number(10) primary key not null,
image blob
);
 
將文件寫入數據庫
 
/**
* 將圖片文件存入數據庫
* @throws SQLException
* @throws IOException
*/
public int writeBlob(String path) throws SQLException, IOException{
int result = 0;
String sql = "insert into blobmodel(blobid,image) values(seq_blobmodel_id.nextval,?)";
//1.創建Blob
Blob image = DBHelper.getConnection().createBlob();
//2.將流放入blob
OutputStream out = image.setBinaryStream(1);
//3.讀取圖片,并寫入輸出流
FileInputStream fis = new FileInputStream(path);
byte []buf = new byte[1024];
int len = 0;
while((len=fis.read(buf))!=-1){
out.write(buf, 0, len);
}
result = DBHelper.executeUpdate2(sql, new Object[]{image});//自己簡單封裝了jdbc操作
fis.close();
out.close();
return result;
}

將文件從數據庫中讀出

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* 將數據庫中的圖片文件讀出來
* @throws SQLException
* @throws IOException
*/
public void readBlob() throws SQLException, IOException{
String sql = "select image from blobmodel where blobid=?";
DBHelper.getConnection();//
ResultSet rs = DBHelper.executeQuery(sql, new Object[]{1});
while(rs.next()){
Blob image = rs.getBlob(1);
InputStream is = image.getBinaryStream();
BufferedInputStream bis = new BufferedInputStream(is);
String path = "img/"+new Date().getTime()+".jpg";//指定輸出的目錄為項目下的img文件夾
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(path));
byte []buf = new byte[1024];
int len = 0;
while((len=bis.read(buf))!=-1){
bos.write(buf,0,len);
}
bos.close();
bis.close();
}
}

以上所述是小編給大家介紹的使用JDBC4.0操作Oracle中BLOB類型的數據的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.cnblogs.com/excalimax/archive/2016/08/24/5804543.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九九99亚洲精品久久久久 | 特级淫片大乳女子高清视频 | 香蕉tv国产在线永久播放 | 桃乃木香奈ipx在线播放 | 极致堕落(高h) | 四虎永久在线精品免费影视 | 教室眠催白丝美女校花 | 污污动图| 精品久久久久中文字幕日本 | 99视频福利 | 97菊爱网 | 日韩欧美一卡二区 | 国产香蕉一区二区在线观看 | 特黄特色大片免费视频大全 | 久久99re热在线播放7 | 国产91在线精品 | 亚洲乱码一区二区三区国产精品 | 国产无套在线播放 | 亚洲白拍| 我的漂亮朋友在线观看全集免费 | 欧美一区二区三区成人看不卡 | 114级毛片免费观看 1024亚洲天堂 | 国产亚洲女在线线精品 | 婷婷激情综合五月天 | 99r8这里精品热视频免费看 | 国产拍拍视频一二三四区 | 人体做爰aaaa免费 | 99热这里只有精品久久免费 | 久久性生大片免费观看性 | 91久色| 小早川怜子视频在线观看 | 性xxxxⅹhd成人 | 99久久免费看精品国产一区 | 日本中文字幕在线观看视频 | 精品在线91 | 韩国三级年轻的小婊孑 | 欧美一级欧美三级在线 | 亚洲精品人成网在线播放影院 | 肉文小说 | 国产精品www视频免费看 | 午夜精品免费 |