欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)用Mysql存取圖片操作實(shí)例

 更新時(shí)間:2015年06月30日 09:21:01   投稿:junjie  
這篇文章主要介紹了Java實(shí)現(xiàn)用Mysql存取圖片操作實(shí)例,本文講解了使用BLOB類(lèi)型保存和讀取圖片的代碼實(shí)例,需要的朋友可以參考下

1.MySQL中的BLOB類(lèi)型

  Mysql中可以存儲(chǔ)大文件數(shù)據(jù),一般使用的BLOB對(duì)象。如圖片,視頻等等。

  BLOB是一個(gè)二進(jìn)制大對(duì)象,可以容納可變數(shù)量的數(shù)據(jù)。因?yàn)槭嵌M(jìn)制對(duì)象,所以與編碼方式無(wú)關(guān)。有4種BLOB類(lèi)型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它們只是可容納值的最大長(zhǎng)度不同。

  四種字段類(lèi)型保存的最大長(zhǎng)度如下:

復(fù)制代碼 代碼如下:

  TINYBLOB - 255 bytes
  BLOB - 65535 bytes(64KB)
  MEDIUMBLOB - 16,777,215 bytes(16MB) (2^24 - 1)
  LONGBLOB - 4G bytes (2^32 – 1)

2.java對(duì)MySQL圖片的讀取

下面是test數(shù)據(jù)庫(kù)中定義的phototest表結(jié)構(gòu)。

保存與讀取圖片的代碼如下:

import java.io.*;
import java.sql.*;
public class LoadStoreBLOB {
 public static void main(String[] args) {
  DBConnection  DB = new DBConnection(); //負(fù)責(zé)連接MySQl數(shù)據(jù)庫(kù)的類(lèi)
  Connection   con = null;
  PreparedStatement  ps = null;
  ResultSet  rs = null;
  InputStream in = null; 
  try {
   //從本地硬盤(pán)硬盤(pán)讀取一張圖片保存到數(shù)據(jù)庫(kù)
   con=DB.getConn();
   in=new FileInputStream("sdf.png");
   ps=con.prepareStatement("insert into test.phototest values(?,?)");
   ps.setInt(1,2);
   ps.setBinaryStream(2, in, in.available());
   ps.executeUpdate();
   in.close();
   DB.closeConn(con);
   
   //從數(shù)據(jù)庫(kù)讀取圖片保存到本地硬盤(pán)
   con=DB.getConn();
   ps=con.prepareStatement("select * from test.phototest where id=?");
   ps.setInt(1,2);
   rs=ps.executeQuery();
   rs.next(); //將光標(biāo)指向第一行
   in=rs.getBinaryStream("photo");
   byte[] b=new byte[in.available()]; //新建保存圖片數(shù)據(jù)的byte數(shù)組
   in.read(b);
   OutputStream out=new FileOutputStream("222.jpg");
   out.write(b);
   out.flush();
   out.close();
   DB.closeConn(con);
  } 
  catch (Exception e) {
   System.out.println("Error::"+e);
  }
 }
}

3.選擇合適的字段大小

  如果選擇的字段類(lèi)型的最大長(zhǎng)度較小,放不下保存的數(shù)據(jù),可能會(huì)報(bào)出MySQL數(shù)據(jù)截?cái)喈惓?。如?br />

復(fù)制代碼 代碼如下:

    com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'photo' at row 1

 

Mysql 中文參考手冊(cè)列類(lèi)型:

  http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#blob

相關(guān)文章

  • 為zookeeper配置相應(yīng)的acl權(quán)限

    為zookeeper配置相應(yīng)的acl權(quán)限

    這篇文章主要介紹了為zookeeper配置相應(yīng)的acl權(quán)限的相關(guān)實(shí)例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-09-09
  • java?11新特性HttpClient主要組件及發(fā)送請(qǐng)求示例詳解

    java?11新特性HttpClient主要組件及發(fā)送請(qǐng)求示例詳解

    這篇文章主要為大家介紹了java?11新特性HttpClient主要組件及發(fā)送請(qǐng)求示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • SpringBoot配置log4j2的實(shí)現(xiàn)示例

    SpringBoot配置log4j2的實(shí)現(xiàn)示例

    SpringBoot中默認(rèn)使用Logback作為日志框架,本文主要介紹了SpringBoot配置log4j2的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • 教你一步解決java.io.FileNotFoundException:找不到文件異常

    教你一步解決java.io.FileNotFoundException:找不到文件異常

    這篇文章主要給大家介紹了關(guān)于如何一步解決java.io.FileNotFoundException:找不到文件異常的相關(guān)資料,文中通過(guò)圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • 在MyBatisPlus中使用@TableField完成字段自動(dòng)填充的操作

    在MyBatisPlus中使用@TableField完成字段自動(dòng)填充的操作

    這篇文章主要介紹了在MyBatisPlus中使用@TableField完成字段自動(dòng)填充的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • Java全面細(xì)致講解Cookie與Session及kaptcha驗(yàn)證碼的使用

    Java全面細(xì)致講解Cookie與Session及kaptcha驗(yàn)證碼的使用

    web開(kāi)發(fā)階段我們主要是瀏覽器和服務(wù)器之間來(lái)進(jìn)行交互。瀏覽器和服務(wù)器之間的交互就像人和人之間進(jìn)行交流一樣,但是對(duì)于機(jī)器來(lái)說(shuō),在一次請(qǐng)求之間只是會(huì)攜帶著本次請(qǐng)求的數(shù)據(jù)的,但是可能多次請(qǐng)求之間是會(huì)有聯(lián)系的,所以提供了會(huì)話機(jī)制
    2022-06-06
  • spring cloud 分布式鏈路追蹤的方法

    spring cloud 分布式鏈路追蹤的方法

    這篇文章主要介紹了spring cloud 分布式鏈路追蹤的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Mybatis分頁(yè)插件PageHelper的配置和簡(jiǎn)單使用方法(推薦)

    Mybatis分頁(yè)插件PageHelper的配置和簡(jiǎn)單使用方法(推薦)

    在使用Java Spring開(kāi)發(fā)的時(shí)候,Mybatis算是對(duì)數(shù)據(jù)庫(kù)操作的利器了。這篇文章主要介紹了Mybatis分頁(yè)插件PageHelper的配置和使用方法,需要的朋友可以參考下
    2017-12-12
  • JAVA中字符串如何與整型數(shù)字相加

    JAVA中字符串如何與整型數(shù)字相加

    這篇文章主要介紹了JAVA中字符串如何與整型數(shù)字相加,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 如何通過(guò)XML方式配置并實(shí)現(xiàn)Mybatis

    如何通過(guò)XML方式配置并實(shí)現(xiàn)Mybatis

    這篇文章主要介紹了如何通過(guò)XML方式配置并實(shí)現(xiàn)Mybatis,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評(píng)論