<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Vincent.Chan‘s Blog

    常用鏈接

    統(tǒng)計(jì)

    積分與排名

    網(wǎng)站

    最新評(píng)論

    JDBC實(shí)現(xiàn)oracle blob 出庫入庫

    1,首先建一個(gè)足夠簡(jiǎn)單的表imageTable
          id         varchar(20)
          image   blob
    2,blob入庫
          拷貝Sunset.jpg圖片在C盤根目錄下     
     1      DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 
     2      Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:beyondduke","duke","duke"); 
     3      conn.setAutoCommit(false); 
     4      BLOB blob = null
     5      PreparedStatement pstmt = conn.prepareStatement("insert into imageTable(id,image) values(?,empty_blob())"); 
     6      pstmt.setString(1,"10001"); 
     7      pstmt.executeUpdate(); 
     8      pstmt.close(); 
     9      pstmt = conn.prepareStatement("select content from imageTable where id= ? for update"); 
    10      pstmt.setString(1,"10001"); 
    11      ResultSet rs = pstmt.executeQuery(); 
    12     if (rs.next()) blob = (BLOB) rs.getBlob(1); 
    13      String fileName = "c://Sunset.jpg"
    14      File f = new File(fileName); 
    15      FileInputStream fin = new FileInputStream(f); 
    16      System.out.println("file size = " + fin.available()); 
    17      pstmt = conn.prepareStatement("update imageTable set image=? where id=?"); 
    18      OutputStream out = blob.getBinaryOutputStream(); 
    19       byte[] data = new byte[(int)fin.available()]; 
    20      fin.read(data); 
    21      out.write(data); 
    22      out.close(); 
    23      fin.close(); 
    24
    25      pstmt.setBlob(1,blob); 
    26      pstmt.setString(2,"fankai"); 
    27
    28      pstmt.executeUpdate(); 
    29      pstmt.close(); 
    30
    31      conn.commit(); 
    32      conn.close(); 
    瀏覽數(shù)據(jù)庫的數(shù)據(jù),發(fā)現(xiàn)image項(xiàng)中數(shù)據(jù)大小與圖片大小一致,說明入庫了!
     3,blob出庫
     1   DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
     2   Connection conn = DriverManager.getConnection(            "jdbc:oracle:thin:@localhost:1521:beyondduke""duke","duke");     
              conn.setAutoCommit(
    false);
     3    Statement stmt = conn.createStatement();
     4/* 查詢BLOB對(duì)象 */
     5    ResultSet rs = stmt.executeQuery("SELECT content FROM javatest WHERE id='1001'");
     6while (rs.next()) {
     7/* 取出此BLOB對(duì)象 */    
     8    oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("image");
     9 BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("d://Sunset.jpg"));            
               BufferedInputStream in 
    = new BufferedInputStream(blob    .getBinaryStream());        
    10    int c;
    11while ((c = in.read()) != -1{ out.write(c);        
    12   }

    13   in.close();
    14   out.close();
    15   rs.close();
    16   stmt.close();
    17   conn.close();
    18
    檢查D盤根目錄,會(huì)發(fā)現(xiàn)Sunset.jpg文件,跟C盤下是一樣的,說明入庫出庫成功!

    posted on 2006-02-14 20:59 Vincent.Chen 閱讀(634) 評(píng)論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 在线精品亚洲一区二区三区| 亚洲国语精品自产拍在线观看| 一级毛片不卡免费看老司机| 亚洲av日韩av天堂影片精品| 精品久久久久国产免费| 一区二区三区免费电影| 日本久久久久亚洲中字幕| 暖暖日本免费在线视频 | 亚洲性无码一区二区三区| 亚洲偷自拍拍综合网| 久视频精品免费观看99| 一级毛片在线免费视频| 亚洲精品视频在线播放| 精品亚洲一区二区三区在线播放| 成人在线免费看片| 久久精品成人免费国产片小草| 亚洲综合中文字幕无线码| 国产精一品亚洲二区在线播放| 成年性午夜免费视频网站不卡| 成人网站免费看黄A站视频| 亚洲精品无码久久久久APP | 亚洲色丰满少妇高潮18p| 精品国产综合成人亚洲区| 永久免费无码网站在线观看| 91香蕉在线观看免费高清| 国产国产人免费人成成免视频| 亚洲av乱码一区二区三区| 亚洲av综合av一区| 亚洲av中文无码| 久久这里只有精品国产免费10| 久久成人免费播放网站| 一级毛片一级毛片免费毛片| 亚洲精品GV天堂无码男同| 亚洲综合激情九月婷婷| 国产AV无码专区亚洲A∨毛片| 亚洲第一网站男人都懂| 国产一精品一AV一免费孕妇| 精品熟女少妇av免费久久| 韩日电影在线播放免费版| 一级毛片a免费播放王色电影 | 亚洲女人初试黑人巨高清|