2008年7月22日

    今天项目中需要用到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来进行处理.
我写了个通用的静态方法,用来进行转换
 1public static String clob2String(Clob clob) {
 2        StringBuilder strBuilder = new StringBuilder("");
 3        BufferedReader reader=null;
 4        if (null != clob) {
 5            try {
 6                reader = new BufferedReader(clob.getCharacterStream());
 7            } catch (SQLException e) {
 8                e.printStackTrace();
 9            }
10            String st = "";
11            try {
12                while (null != (st = reader.readLine())) {
13                    strBuilder.append(st+"\r\n");
14                }
15            } catch (IOException e) {
16                e.printStackTrace();
17            }
18        }
19        return strBuilder.toString();
20    }

打完收工!
有错误或更好的实现方法思路请指正.谢谢

posted @ 2008-07-22 16:47 冯振川 阅读(815) | 评论 (1)编辑 收藏


仅列出标题  

posts - 0, comments - 1, trackbacks - 0, articles - 1

Copyright © 冯振川