摘要:知識點總結二進制對象的使用知識點總結用于存儲大量的二進制數據大字段有些特殊,不同數據庫處理的方式不一樣,大字段的操作常常是以流的方式來處理的。最大長度為,字節的列。二進制對象的使用插入一張圖片,并讀取出來存讀
Java知識點總結(JDBC-二進制對象的使用)
@(Java知識點總結)[Java, JDBC]
BLOB(Binary Large Object)用于存儲大量的二進制數據
大字段有些特殊,不同數據庫處理的方式不一樣,大字段的操作常常是以流的方式來處理的。而非一般的字段,一次即可讀出數據。
Mysql中相關類型 :TINYBLOB最大長度為255(2^[8]-1)字節的BLOB列。
BLOB[(M)]最大長度為65,535(2^[24]-1)字節的BLOB列。
MEDIUMBLOB最大長度為16,777,215(2^[24]-1)字節的BLOB列。
LONGBLOB最大長度為4,294,967,295或4GB[2^[32]-1]字節的BLOB列。
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()); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/71458.html
摘要:前言由于寫的文章已經是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導航。 前言 由于寫的文章已經是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導航。 由于更新比較頻繁,因此隔一段時間才會更新目錄導航哦~想要獲取最新原創的技術文章歡迎關注我的公眾號:Java3y Java3y文章目錄導航 Java基礎 泛型就這么簡單 注解就這么簡單 Druid數據庫連接池...
摘要:知識點總結概要知識點總結簡介為開發者使用數據庫提供了統一的編程接口,它由一組類和接口組成主要在包中。跟蹤可用的驅動程序,并在數據庫和相應的驅動程序之間建立連接。接口與特定數據庫的連接會話,在連接上下文中執行語句并返回結果。 Java知識點總結(JDBC-概要) @(Java知識點總結)[Java, JDBC] 簡介 JDBC(Java Database Connection)為Java...
摘要:從使用到原理學習線程池關于線程池的使用,及原理分析分析角度新穎面向切面編程的基本用法基于注解的實現在軟件開發中,分散于應用中多出的功能被稱為橫切關注點如事務安全緩存等。 Java 程序媛手把手教你設計模式中的撩妹神技 -- 上篇 遇一人白首,擇一城終老,是多么美好的人生境界,她和他歷經風雨慢慢變老,回首走過的點點滴滴,依然清楚的記得當初愛情萌芽的模樣…… Java 進階面試問題列表 -...
閱讀 3660·2021-09-27 14:02
閱讀 1790·2019-08-30 15:56
閱讀 1745·2019-08-29 18:44
閱讀 3279·2019-08-29 17:21
閱讀 487·2019-08-26 17:15
閱讀 1176·2019-08-26 13:57
閱讀 1241·2019-08-26 13:56
閱讀 2880·2019-08-26 11:30