激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - Java實(shí)現(xiàn)用Mysql存取圖片操作實(shí)例

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

2019-12-24 13:14junjie JAVA教程

這篇文章主要介紹了Java實(shí)現(xiàn)用Mysql存取圖片操作實(shí)例,本文講解了使用BLOB類型保存和讀取圖片的代碼實(shí)例,需要的朋友可以參考下

1.MySQL中的BLOB類型

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

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

  四種字段類型保存的最大長度如下:

復(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對MySQL圖片的讀取

 

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

Java,Mysql,存取圖片

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.io.*;
import java.sql.*;
public class LoadStoreBLOB {
 public static void main(String[] args) {
  DBConnection  DB = new DBConnection(); //負(fù)責(zé)連接MySQl數(shù)據(jù)庫的類
  Connection   con = null;
  PreparedStatement  ps = null;
  ResultSet  rs = null;
  InputStream in = null;
  try {
   //從本地硬盤硬盤讀取一張圖片保存到數(shù)據(jù)庫
   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ù)庫讀取圖片保存到本地硬盤
   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.選擇合適的字段大小

  如果選擇的字段類型的最大長度較小,放不下保存的數(shù)據(jù),可能會報(bào)出MySQL數(shù)據(jù)截?cái)喈惓!H纾?/p>

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

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

 

 

Mysql 中文參考手冊列類型:

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本欧美在线播放 | 久久久久免费电影 | 男女无遮挡羞羞视频 | 1024亚洲天堂| 美女毛片儿 | 一级大黄毛片免费观看 | 最近中文字幕一区二区 | 成人福利电影在线观看 | 久久亚洲第一 | 毛片一区二区三区 | 成人福利在线视频 | 国产黄色毛片 | 成人毛片免费看 | 亚洲av一级毛片特黄大片 | 91久久精品一二三区 | 国产精品久久久乱弄 | 久久老司机 | 黄色av免费 | 色人阁在线视频 | 中文有码一区二区 | 国产交换3p国产精品 | 亚洲视屏 | 特黄一区二区三区 | 深夜影院一级毛片 | 一级做受大片免费视频 | 亚洲精品aaaaa | 欧美 日韩 国产 成人 | 日韩精品免费一区二区三区 | 欧美aaaaaaaa | 黄色网址进入 | 国产亚洲精品一区二区三区 | 国产乱淫av | 91网页 | 大奶一级片 | 久久午夜免费视频 | 91不雅视频| 99久久一区二区 | 欧美一级爱操视频 | 91精品国产乱码久久久久久久久 | 黄色一级视频 | 国产午夜小视频 |