package com.basicSql.scroll_page; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import com.basicSql.connUtil.Conndb; public class SavePic { public static Connection conn = null; public static PreparedStatement pStmt = null; /** * 数据库中加入图片等文件 */ public static void InsertPic() { String sql = "insert into teacher(id,name,photo) values(teacher_seq.nextval,?,?)"; try { conn = Conndb.connOracle(); pStmt = conn.prepareStatement(sql); pStmt.setString(1, "signma"); // 数据库插入图片/word/excel等 File f = new File("src/pic.jpg"); FileInputStream fis = new FileInputStream(f); pStmt.setBinaryStream(2, fis, (int) f.length()); int n = pStmt.executeUpdate(); System.out.println(n + "条记录插入"); } catch (SQLException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { Conndb.pStmtClose(pStmt); Conndb.closeConn(conn); } } /** * 从数据库中取出图片等文件 */ public static void getPic() { String sql = "select id,name,photo from teacher where id=?"; try { conn = Conndb.connOracle(); pStmt = conn.prepareStatement(sql); pStmt.setInt(1, 2); ResultSet rs = pStmt.executeQuery(); if (rs.next()) { FileOutputStream fos = new FileOutputStream(new File("abc.jpg")); InputStream is = rs.getBinaryStream("photo"); byte[] buffer = new byte[4 * 1024]; int length = 0; while ((length = is.read(buffer)) != -1) { fos.write(buffer, 0, length); } fos.flush(); fos.close(); is.close(); } } catch (SQLException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { Conndb.pStmtClose(pStmt); Conndb.closeConn(conn); } } }
Oracle数据库插入图片和读取图片,布布扣,bubuko.com
原文:http://www.cnblogs.com/xrhou12326/p/3813445.html