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();
   }

 

你可能感兴趣的:(Hibernate)