BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。
可以用于存储图片等信息
Demo1:存储图片
String sql="INSERT INTO TestBlob(NAME,headImagfe) VALUES (?,?)";
conn=JdbcUtil.getConnection();
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,"mm"); //mysql实现了所有方法,但有些方法执行无法通过,没有真正的实现
//pstmt.setBlob(parameterIndex, inputStream, length) InputStream is=new FileInputStream("D:\\a.jpg");//输入流 pstmt.setBinaryStream(2, is, is.available());//加入到sql语句中 pstmt.executeUpdate();//执行
Demo2:获取图片
String sql="select * from TestBlob where id=1";
Blob blob= rs.getBlob("headImagfe");
InputStream is=blob.getBinaryStream();//输入流
String path="D:\\b.jpg";
OutputStream out=new FileOutputStream(path);//输出流
int len=-1;
byte[] buffer=new byte[1024];
while ((len=(is.read(buffer)))>0) {//循环输出
out.write(buffer,0,len);
}
out.close();
is.close();