激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術|

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

使用JDBC4.0操作Oracle中BLOB類型的數(shù)據(jù)方法

2019-12-30 15:00excalimax Oracle

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

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

需要的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
);
 
將文件寫入數(shù)據(jù)庫
 
/**
* 將圖片文件存入數(shù)據(jù)庫
* @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.創(chuàng)建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;
}

將文件從數(shù)據(jù)庫中讀出

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* 將數(shù)據(jù)庫中的圖片文件讀出來
* @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類型的數(shù)據(jù)的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網(wǎng)站的支持!

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本不卡一二三区 | 亚洲欧美成aⅴ人在线观看 av免费在线播放 | 精品一区二区久久久 | 在线看一区二区三区 | 青热久思思 | 亚洲欧美国产高清 | 96视频在线免费观看 | 国产精品久久久久无码av | 娇喘在线 | 日产精品久久久久久久 | 成人免费久久网 | 日本一区二区三区四区高清视频 | 国产精品一区在线免费观看 | 免费观看一区二区三区视频 | 被狠狠操| 中国精品久久 | 古装三级在线观看 | 欧美中文在线 | 欧洲伊人网| 美女av在线免费观看 | 一级美女大片 | 免费一级毛片在线播放视频 | 国产chinesehd精品91 | 国产一区国产二区在线观看 | 古装三级在线观看 | 激情综合婷婷久久 | 福利免费观看 | 亚洲国产精久久久久久久 | 欧美a∨一区二区三区久久黄 | 成人偷拍片视频在线观看 | www.17c亚洲蜜桃 | 日韩理论电影网 | 欧美a∨一区二区三区久久黄 | 国产精品美女久久久免费 | 91成人在线免费视频 | 国产一区二区免费看 | 毛片免费观看完整版 | hd极品free性xxx一护士 | 久久精品视频日本 | 久久久亚洲欧美综合 | 久久亚洲网|