`
一场雨
  • 浏览: 48989 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

Hibernate保存Oracle大对象blob

阅读更多

import java.sql.Blob;
import net.sf.hibernate.*;
import oracle.sql.*;
import java.io.*;

public class TestCatHibernate { 
  public static void testBlob() {
    Session s = null;   
    byte[] buffer = new byte[];
    buffer[0] = 1;
    try {
      SessionFactory sf = HibernateSessionFactory.getSessionFactory();
      s = sf.openSession(); 
      Transaction tx = s.beginTransaction();
      Cat c = new Cat();
      c.setName("Robbin");
      c.setImage(Hibernate.createBlob(buffer));
      s.save(c);
      s.flush();

      s.refresh(c, LockMode.UPGRADE);   
      BLOB blob = (BLOB) c.getImage();     
      OutputStream out = blob.getBinaryOutputStream();  
      String fileName = "oraclejdbc.jar";
      File f = new File(fileName);
      FileInputStream fin = new FileInputStream(f);  
      int count = -1, total = 0;
      byte[] data = new byte((int)fin.available());
      fin.read(data);
      out.write(data);     
      fin.close();
      out.close();
      s.flush();
      tx.commit();
  
    } catch (Exception e) {
      System.out.println(e.getMessage());
    } finally {
      if (s != null)
        try {
          s.close();
        } catch (Exception e) {}
    }   
   
  }
}

分享到:
评论

相关推荐

    使用hibernate对oracle读取blob

    在Java开发中,Blob(Binary Large Object)类型用于存储大对象,如图片、音频或视频文件等。Oracle数据库是广泛使用的数据库系统,它支持Blob类型的字段。Hibernate作为一款流行的ORM(对象关系映射)框架,提供了...

    JDBC+Hibernate将Blob数据写入Oracle

    在Oracle数据库中,BLOB类型的字段具有特殊的处理方式,尤其在使用JDBC(Java Database Connectivity)和Hibernate框架时,需要特别注意其写入过程。以下是对“JDBC+Hibernate将Blob数据写入Oracle”这一主题的深入...

    Struts2 Hibernate存取Oracle数据库中的BLOB数据.pdf

    通过Struts2与Hibernate框架的结合,开发者可以构建稳定高效的Web应用,特别是在涉及到需要存储和展示二进制大对象(BLOB)数据的场景中,这种集成方案能够充分发挥各自框架的优势,简化数据库操作,提升开发效率和...

    关于在Hibernate中对于Clob,Blob字段的处理方法

    Blob则用于存储二进制大对象,比如图片、视频或者文档。在Oracle JDBC驱动中,Oracle提供了一套完善的API来创建、读取和更新Clob和Blob对象。 在Hibernate中,我们可以通过以下方式处理Clob和Blob字段: 1. **映射...

    hibernate保存blob,clob对象

    例如,Oracle和MySQL在处理大对象时有各自的API和策略。 总结,Hibernate通过`@Lob`注解支持BLOB和CLOB的持久化,开发者需要适当地将数据转换为对应的对象类型,然后使用Hibernate的CRUD操作进行保存和检索。同时,...

    使用JDBC和Hibernate来写入Blob型数据到Oracle中

    Blob(Binary Large Object)是Oracle用来存储大对象数据的类型,它可以高效地处理大量的二进制数据,比long字段更适合此类任务。 要将Blob型数据写入Oracle数据库,我们可以使用两种常见的技术:JDBC(Java ...

    Hibernate读取blob字段

    在Java的持久化框架Hibernate中,Blob类型常用于存储大对象(Large Object),如图片、音频、视频或大型文本文件等。本篇文章将深入探讨如何使用Hibernate读取数据库中的Blob字段,以及涉及到的相关知识点。 首先,...

    Hibernate操作Oarcle中Clob、Blob字段小结

    - 插入数据:在保存实体时,Hibernate会自动处理Clob和Blob对象的序列化。可以通过`getClob()`和`setClob()`方法设置和获取Clob值,对于Blob,使用`getBlob()`和`setBlob()`。 - 更新数据:同样,更新实体时,...

    hibernate对Blob类型字段进行数据添加.txt

    在处理数据库操作时,经常需要存储二进制大对象(Binary Large Object,简称 BLOB),例如图像、视频等非文本数据。BLOB 类型是数据库系统中用于存储大量二进制数据的数据类型。在 Java 应用开发中,尤其是使用 ORM ...

    oracle+hibernate 处理blob +uploadify实例

    Blob(Binary Large Object)是数据库中用于存储二进制大对象的类型,常用于存储图片、音频、视频等文件。 首先,我们来看`Learner`类,这是Java对象的映射,代表了数据库中的`LEARNER`表。`Learner`类包含学员的...

    Hibernate-Oracle-MySQL-image.rar_oracle

    这篇文档“Hibernate-Oracle-MySQL-image.rar_oracle”聚焦于使用Hibernate处理Oracle和MySQL数据库中的二进制大对象(Blob),特别关注如何存储和检索图片文件。Blob类型常用于存储大型数据,如图像、音频或视频...

    Hibernate对BLOB CLOB操作

    在Java的持久化框架Hibernate中,BLOB和CLOB是用来处理大数据对象(Binary Large Object和Character Large Object)的。这两个类型常用于存储图像、视频、大文本等数据,因为它们可以容纳超过数据库标准列大小限制的...

    oracle,weblogic读写blob

    此外,JPA(Java Persistence API)和 Hibernate 等 ORM(对象关系映射)框架也可以便捷地处理 BLOB 数据。 文件 `clearFile.js` 可能是 JavaScript 文件,这通常用于前端或者Node.js环境中的数据操作。在...

    hibernate向oracle插入图片

    1. 大对象数据处理可能消耗较多资源,因此在处理完后要及时关闭Session和连接,避免内存泄漏。 2. 考虑到性能和存储成本,对于大量图片的存储,通常会考虑使用文件系统或云存储服务,只在数据库中存储图片的URL或元...

    jdbc+hibernate存取blob字段

    首先,Oracle数据库的BLOB字段提供了对大对象的高效存储,它的性能优于LONG字段,尤其适合存储大容量的二进制数据。在JDBC中,我们通常需要经过几个步骤来写入BLOB字段: 1. **建立连接**:使用`DriverManager.get...

    spring+hibernate操作oracle的clob字段

    这确保了Spring和Hibernate能够正确地与Oracle数据库交互处理大对象。 ```xml <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> ... ``` 2. **定义...

Global site tag (gtag.js) - Google Analytics