Hibernate往oracle数据中插入blob类型的文件_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Hibernate往oracle数据中插入blob类型的文件

Hibernate往oracle数据中插入blob类型的文件

 2013/11/11 18:39:38  alleni123  程序员俱乐部  我要评论(0)
  • 摘要:Blob类型是一个二进制格式的类型。http://baike.baidu.com/link?url=Qsh_DL70A6q2CDvAmAx3l66XgwwjAX63wmiEYN1CPqtaxg1AesIv2gpZ_oY5QM4sp-BPo5p14-tTdViz5E8kT_通过hibernate我们可以将输入流转换转换成java.sql.Blob类型对象。具体如下:publicclassHibernateTest{privatestaticSessionFactorysessionFactory
  • 标签:文件 ORA 数据 Oracle hibernate
Blob类型是一个二进制格式的类型。
http://baike.baidu.com/link?url=Qsh_DL70A6q2CDvAmAx3l66XgwwjAX63wmiEYN1CPqtaxg1AesIv2gpZ_oY5QM4sp-BPo5p14-tTdViz5E8kT_


通过hibernate我们可以将输入流转换转换成java.sql.Blob类型对象。

具体如下:

class="java">public class HibernateTest
{
	private static SessionFactory sessionFactory;
	
	private static ServiceRegistry sr;
	
	static 
	{
		try{
			
			Configuration con=new Configuration().configure();
			
			sr=new ServiceRegistryBuilder().applySettings(con.getProperties()).buildServiceRegistry();
			
			sessionFactory=con.buildSessionFactory(sr);
			
		}catch(Exception e){
			e.printStackTrace();
		}
		
	}
	
	
	public static void main(String[] args) throws IOException
	{	
		
		 
		
		
		People people=new People();
		
		
		InputStream is=new FileInputStream("d:/newfile.jpg");
		
		int length=is.available();
		
		byte[] buffer=new byte[length];
		
		is.read(buffer);
		
	
		
	
		
		
		
		Session session=sessionFactory.openSession();
		
		Transaction tx=null;
		people.setFile(session.getLobHelper().createBlob(buffer));
		
		
		tx=session.beginTransaction();
		
		
	
		
		
		session.save(people);
		
		
		session.flush();
		
		 
		tx.commit();
		
		
		
		
		

		
		
		
		
	}
}



People类中声明一个Blob对象,
private Blob file;

再通过session创建 org.hibernate.LobHelper对象,来完成这一存储过程就行。
发表评论
用户名: 匿名