当前位置:首页 > 开发 > 编程语言 > 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

    震惊

    震惊

编辑推荐
利用Kettle读取Excel表格数据生成XML格式数据,保存到数据库表的BLOB类型的字段中,转换脚本如下:
转自:http://www.weste.net/2004/11-3/12250047377.html http://bbs.csdn.net/topics/370120599 JD
原文 http://www.cnblogs.com/myCodingSky/archive/2013/09/05/3303000.html 由于工作的原因,要使
  由于工作的原因,要使用winform来处理大量的数据,但是c#自带的System.data.OracleClient效率不
  由于工作的原因,要使用winform来处理大量的数据,但是c#自带的System.data.OracleClient效率不
C#利用ODP.NET往oracle中高效插入百万数据 由于工作的原因,要使用winform来处理大量的数据,但是c#
对于数据库而言,常用的四个操作就是增删改查。 下面通过几个实例来对mongodb有个感性的认识。 ~~~~
先看数据库表的定义 date字段为sql.date类型。我要向其中插入指定的日期和当前日期。 一、插入当前
来自:http://esffor.iteye.com/blog/168264 数据库脚本: create table testcb(id varchar ( 32 )
数据库脚本: create table testcb(id varchar ( 32 ) primary key ,name varchar ( 32 ),photo blo
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号