主頁(yè) > 知識(shí)庫(kù) > 使用JDBC4.0操作Oracle中BLOB類型的數(shù)據(jù)方法

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

熱門(mén)標(biāo)簽:地圖標(biāo)注養(yǎng)老院 圖吧網(wǎng)站地圖標(biāo)注 開(kāi)發(fā)外呼系統(tǒng) 山東crm外呼系統(tǒng)軟件 哈爾濱電話機(jī)器人銷售招聘 愛(ài)客外呼系統(tǒng)怎么樣 哪個(gè)400外呼系統(tǒng)好 百度地圖標(biāo)注途經(jīng)點(diǎn) 慧營(yíng)銷crm外呼系統(tǒng)丹丹

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

需要的jar包

使用ojdbc6.jar

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

建表

create sequence seq_blobmodel_id start with 1 increment by 1 nocache;
create table blobmodel
(
blobid number(10) primary key not null,
image blob
); 

將文件寫(xiě)入數(shù)據(jù)庫(kù)

/**
* 將圖片文件存入數(shù)據(jù)庫(kù)
* @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.讀取圖片,并寫(xiě)入輸出流
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});//自己簡(jiǎn)單封裝了jdbc操作
fis.close();
out.close();
return result;
}

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

/**
* 將數(shù)據(jù)庫(kù)中的圖片文件讀出來(lái)
* @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";//指定輸出的目錄為項(xiàng)目下的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ù)的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • Java與Oracle實(shí)現(xiàn)事務(wù)(JDBC事務(wù))實(shí)例詳解
  • Java使用JDBC或MyBatis框架向Oracle中插入XMLType數(shù)據(jù)
  • Java開(kāi)發(fā)Oracle數(shù)據(jù)庫(kù)連接JDBC Thin Driver 的三種方法
  • java基于JDBC連接Oracle 11g Release2實(shí)例分析
  • Java使用JDBC連接Oracle_MSSQL實(shí)例代碼
  • java使用jdbc鏈接Oracle示例類分享
  • JDBC連接Oracle數(shù)據(jù)庫(kù)常見(jiàn)問(wèn)題及解決方法
  • 解析jdbc處理oracle的clob字段的詳解
  • 如何在Eclipse中設(shè)置Oracle的JDBC
  • 通過(guò)JDBC連接oracle數(shù)據(jù)庫(kù)的十大技巧
  • Java使用JDBC實(shí)現(xiàn)Oracle用戶認(rèn)證的方法詳解

標(biāo)簽:和田 開(kāi)封 甘肅 周口 固原 武漢 青島 承德

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用JDBC4.0操作Oracle中BLOB類型的數(shù)據(jù)方法》,本文關(guān)鍵詞  使用,JDBC4.0,操作,Oracle,中,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用JDBC4.0操作Oracle中BLOB類型的數(shù)據(jù)方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于使用JDBC4.0操作Oracle中BLOB類型的數(shù)據(jù)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章