当前位置:首页 > 开发 > 编程语言 > Hibernate > 正文

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

发表于: 2013-11-11   作者:alleni123   来源:转载   浏览:
摘要: Blob类型是一个二进制格式的类型。 http://baike.baidu.com/link?url=Qsh_DL70A6q2CDvAmAx3l66XgwwjAX63wmiEYN1CPqtaxg1AesIv2gpZ_oY5QM4sp-BPo5p14-tTdViz5E8kT_ 通过hibernate我们可以将输入流转换转换成java.sql.Blob类型对象。 具体如下:
Blob类型是一个二进制格式的类型。
http://baike.baidu.com/link?url=Qsh_DL70A6q2CDvAmAx3l66XgwwjAX63wmiEYN1CPqtaxg1AesIv2gpZ_oY5QM4sp-BPo5p14-tTdViz5E8kT_


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

具体如下:

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对象,来完成这一存储过程就行。

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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号