MySql中Blob二进制对象的处理

BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。

可以用于存储图片等信息

 

Demo1:存储图片

 1        String sql="INSERT INTO TestBlob(NAME,headImagfe) VALUES (?,?)";
         conn=JdbcUtil.getConnection(); 2 pstmt=conn.prepareStatement(sql); 3 pstmt.setString(1,"mm"); 4 5 //mysql实现了所有方法,但有些方法执行无法通过,没有真正的实现 6 //pstmt.setBlob(parameterIndex, inputStream, length) 7 8 InputStream is=new FileInputStream("D:\\a.jpg");//输入流 9 10 pstmt.setBinaryStream(2, is, is.available());//加入到sql语句中 11 12 pstmt.executeUpdate();//执行

Demo2:获取图片

 1 String sql="select * from TestBlob where id=1";
 2 Blob blob= rs.getBlob("headImagfe");
 3                 InputStream is=blob.getBinaryStream();//输入流
 4                 String path="D:\\b.jpg";
 5                 OutputStream out=new FileOutputStream(path);//输出流
 6                 int len=-1;
 7                 byte[] buffer=new byte[1024];
 8                 while ((len=(is.read(buffer)))>0) {//循环输出
 9                     out.write(buffer,0,len);                    
10                 }
11                 out.close();
12                 is.close();

 

转载于:https://www.cnblogs.com/liuwt365/p/4098313.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值