日期:2014-05-16 浏览次数:20549 次
1. 基础知识回顾
基本概念:大数据也称之为LOB(Large Objects),LOB又分为:clob(用于存储大文本,如:Text)和blob(blob用于存储二进制数据,例如图像、声音、二进制文等)
对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为:
? TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT
? TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB
2. 具体案例分析
(1)运用jdbc插入图片(二进制)和输出图片
packagecom.bigText;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importcom.Db.DbManager;
publicclass BlobTest {
public void insert(){
Connection con =DbManager.getConnection();
PreparedStatement st = null;
try {
String sql = "insert into dbBlob(image) values(?)";
st = con.prepareStatement(sql);
File f = new File("src/1.jpg");
FileInputStream fs = newFileInputStream(f);
st.setBinaryStream(1,fs,f.length()); //注意length长度须设置,并且设置为int型
int i = st.executeUpdate();
if(i>0){
System.out.println("插入成功!!");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DbManager.closeDB(con, st,