@(Java知識點總結)[Java, JDBC]java
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.sql.Blob; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * 二進制對象的使用 * 插入一張圖片,並讀取出來 * @author Administrator * */ public class Demo03 { //存 private static void insert(Connection conn) { String sql = "insert into users(NAME,IMG) values(?,?)"; PreparedStatement ps = null; try { ps = conn.prepareStatement(sql); ps.setString(1, "baby"); ps.setBlob(2, new FileInputStream("E:/a.jpg")); ps.execute(); } catch (SQLException | FileNotFoundException e) { e.printStackTrace(); } finally { DBUtil. close(ps); DBUtil. close(conn); } } // 讀 private static void read(Connection conn) { String sql = "select * from users where USERID = ?"; PreparedStatement ps = null; ResultSet rs = null; InputStream is = null; FileOutputStream fos = null; try { ps = conn.prepareStatement(sql); ps.setObject(1, 14); rs = ps.executeQuery(); while (rs.next()) { Blob b = rs.getBlob("IMG"); is = b.getBinaryStream(); fos = new FileOutputStream("E:/b.jpg"); int temp = 0; while ((temp = is.read()) != -1) { fos.write(temp); } } } catch (SQLException | IOException e) { e.printStackTrace(); } finally { try { if(is !=null){ is.close(); } } catch (IOException e) { e.printStackTrace(); } try { if(fos != null){ fos.close(); } } catch (IOException e) { e.printStackTrace(); } DBUtil. close(rs); DBUtil. close(ps); DBUtil. close(conn); } } public static void main(String[] args) { insert(DBUtil.getConn()); read(DBUtil.getConn()); } }