首页 > 代码库 > Oracle数据库插入图片和读取图片
Oracle数据库插入图片和读取图片
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); } }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。