使用hibnate向数据库写入图片对象
Posted liqy1991
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用hibnate向数据库写入图片对象相关的知识,希望对你有一定的参考价值。
写入到数据库:
@Test
public void testwriteBlob() throws Exception{
Students s = new Students(1,"张三","男",new Date(),"河南");
//获取照片
File f = new File("/Users/liqiye/Desktop/banner1.jpg");
//获得输入流
InputStream input = new FileInputStream(f);
//创建Blob对象
Blob image = Hibernate.getLobCreator(session).createBlob(input, input.available());
//设置照片属性
s.setPicture(image);
session.save(s);
}
从数据库读取出来:
@Test
public void testReadBlob() throws Exception{
Students s = (Students)session.get(Students.class, 1);
Blob b = s.getPicture();
//获得输入流
InputStream input = b.getBinaryStream();
File f = new File("/Users/liqiye/Desktop/dest.jpg");
//获得输出流
OutputStream out = new FileOutputStream(f);
//创建缓存区
byte[] buffer = new byte[input.available()];
//将输入流读到缓冲区里
input.read(buffer);
//从缓冲区写出到文件
out.write(buffer);
input.close();
out.close();
}
以上是关于使用hibnate向数据库写入图片对象的主要内容,如果未能解决你的问题,请参考以下文章