`
keepwork
  • 浏览: 333798 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Hibernate--超长字符串用clob类型添加到数据库

 
阅读更多

 开发者博客www.developsearch.com

 

项目中需要用到Clob,自己以前虽然对此有些了解,但并没有写过代码.而Google的结果很多却没什么和自己的项目比较相近的.算了自己搞吧.
    工程中使用SSH frameworks,因此着手点无非就是对Hibernate进行ORM mapping.  
    下面给出我自己的配置.比较简单,但很实用,通过测试.运行无问题.


POJO类中内容字段:content 声明:
private java.sql.Clob content;


foo.hbm.xml 映射文件片段
<property name="content" column="content" type="clob" />


将字符串转换为Clob对象
Clob clob = Hibernate.createClob("要存取的内容");
obj.setContent(clob);
这样便完成了存的操作.


从Clob中获取字符串
由于Clob特殊的存储格式,因此必须使用IO来进行处理.
我写了个通用的静态方法,用来进行转换

public static String clob2String(Clob clob) {
      StringBuilder strBuilder = new StringBuilder("");
     BufferedReader reader=null;
 if (null != clob) {
          try {
                 reader = new BufferedReader(clob.getCharacterStream());
           } catch (SQLException e) {
               e.printStackTrace();
           }
            String st = "";
         try {
                while (null != (st = reader.readLine())) {
                 strBuilder.append(st+"\r\n");
        }
       } catch (IOException e) {
      e.printStackTrace();
      }
    }
      return strBuilder.toString();
   }

 

分享到:
评论

相关推荐

    关于Clob类型在Hibernate中 的应用小结

    这种方式适合处理大数据量的文本,因为它允许直接与数据库的Clob类型进行交互,无需经过字符串的转换。 **配置部分**: 4.1.1 **实体类**: 在实体类中,你需要定义一个Clob类型的属性,例如`private Clob ...

    hibernate动态映射表处理oracle的clob类型

    - 使用Blob/Clob接口:直接操作Clob接口进行读写,而不是将其转换为字符串或其他数据类型,以减少转换开销。 通过以上内容,你应该对在Hibernate中动态映射Oracle 10g的CLOB类型有了深入理解,这将帮助你在实际...

    Hibernate存储Clob字段的方式总结

    4. 在Hibernate的配置文件中添加"hibernate.connection.SetBigStringTryClob"属性,这对于Oracle数据库是必须的,以确保可以将大字符串存储为Clob类型。 5. 进行存取测试以验证配置的有效性。 传统存储方式则是将...

    关于Oracle的 Clob数据类型在Hibernate中的应用小结

    在Hibernate中,如果Clob字段的值是字符串,可以通过将Clob字段映射为String类型,让Hibernate自动处理转换。这种方式简单易用,但可能不适合非常大的文本,因为可能会导致内存溢出。 3.3 直接使用Clob类型: 对于...

    hibernate-annotations-3.4.0.GA架包和slf4j-1.5.8架包

    4. **参数化日志**:使用`logger.info("User {} logged in", username)`这样的形式,可以避免不必要的字符串拼接,提高效率。 5. **MDC(Mapped Diagnostic Context)**:SLF4J提供了一个键值对的存储区域,用于在...

    Hibernate对BLOB CLOB操作

    // CLOB通常以字符串形式存储,然后在数据库中转换 // getters and setters } ``` 接下来,我们可以通过SessionFactory创建Session对象,然后进行BLOB和CLOB的插入和读取操作。 插入操作: ```java Session ...

    Hibernate 多数据库支持解决方案

    - 如果数据库支持UTF-8编码,确保所有字符串字段都设置为UTF-8格式。在Hibernate配置中,也需要配置字符集,如`hibernate.connection.characterEncoding=UTF-8`,以保证数据的正确存储和读取。 总之,为了实现...

    hibernate保存blob,clob对象

    对于CLOB,可能是字符串。以下是如何操作的示例: ```java Document document = new Document(); document.setContent(new SerialBlob(fileBytes)); // 将文件字节流转换为Blob对象 document.setDescription(new ...

    Blob和Clob使用例子

    在处理Clob时,我们可以使用`session.createClob()`方法创建Clob对象,并将其内容设置为字符串: ```java String description = "这是一个很长的用户描述..."; session = sessionFactory.openSession(); ...

    Hibernate对Blob,Clob的操作

    在Java Web开发中,Hibernate是一个流行的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库。Blob和Clob是Java中用于处理大数据类型的数据对象,Blob用于存储二进制大对象,如图片、音频或视频...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     17.2.3 字符串模式匹配  17.2.4 逻辑运算  17.2.5 集合运算  17.3 小结  17.4 思考题 第18章 Hibernate的检索方式(下)  18.1 连接查询  18.1.1 默认情况下关联级别的运行时检索策略  18.1.2 迫切左外连接...

    Hibernate中数据类型

    **二进制类型**:`byte[]` 通常映射到 `BINARY`、`VARBINARY` 或 `BLOB`,`java.lang.String` 可以映射到 `TEXT` 或 `CLOB`,`java.io.Serializable` 对象可以存储为 `VARBINARY`、`BLOB`,`java.sql.Clob` 和 `java...

    Hibernate 映射类型与Java 类型对照

    Hibernate简化了Java应用程序与数据库之间的交互,它允许我们将Java对象直接映射到数据库中的表。理解Hibernate映射类型与Java类型的对应关系对于有效地使用Hibernate至关重要。 首先,我们来看一下基本数据类型的...

    Hibernate数据类型映射及ID

    #### 字符串和布尔类型映射 1. **Character**: 映射到`java.lang.Character`,在SQL中对应`CHAR(1)`类型。 2. **String**: 映射到`java.lang.String`,在SQL中对应`VARCHAR`类型,长度可变。 3. **Boolean**: 映射...

    Hibernate和java中的对应数据类型

    使用Hibernate时,我们可以通过在实体类的属性上添加`@Column`注解来指定其对应的数据库列类型,或者通过`@Type`注解使用自定义的类型转换器。此外,Hibernate还支持其他高级特性,如类型别名、级联操作、懒加载等,...

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

    ### Struts2框架介绍 Struts2是一个基于Java语言...同时,对于未来技术选型,Oracle数据库推荐优先考虑使用CLOB和BLOB类型来存储大型数据,因为这些类型比LONG类型拥有更好的特性,例如更大的容量和更好的操作灵活性。

    Hibernate操作数据库大字段的示例(附源码及详细开发使用方法)。

    在Hibernate中,我们通常使用`Blob`和`Clob`类型来映射这些大字段。 **一、Hibernate配置** 在Hibernate配置文件(hibernate.cfg.xml)中,确保已经正确设置了数据库连接参数,并且JDBC驱动支持大字段的处理。对于...

    详解jdbc实现对CLOB和BLOB数据类型的操作

    对CLOB和BLOB数据类型的操作是非常重要的,特别是在使用Java数据库连接(JDBC)时。本文将详细介绍JDBC实现对CLOB和BLOB数据类型的操作,包括读取和写入操作。 CLOB数据类型 CLOB数据类型用于存储大型字符数据,如...

    jdbc_blob_clob.rar

    7. **写入Clob数据**:将字符数据流或字符串设置到Clob对象,然后在SQL语句中使用。例如,`PreparedStatement.setClob(int index, Reader reader)`。 8. **事务管理**:处理Blob和Clob数据通常涉及大量I/O操作,...

Global site tag (gtag.js) - Google Analytics