zoukankan      html  css  js  c++  java
  • oracle Clob类型转换成String类型

    转载:https://www.cnblogs.com/itmyhome/p/4131339.html

    Clob类型转换成String类型

    oracle中表结构如下:

    1. create table GRID_RESOURCE  
    2. (  
    3.   ID         VARCHAR2(50),  
    4.   CNNAME     VARCHAR2(50),  
    5.   TYPE       VARCHAR2(50),  
    6.   PARENTID   VARCHAR2(50),  
    7.   VIEWWIDTH  VARCHAR2(50),  
    8.   REQUESTURL VARCHAR2(256),  
    9.   COUNTSQL   CLOB,  
    10.   ISDISPLAY  VARCHAR2(50),  
    11.   TREEINDEX  VARCHAR2(256),  
    12.   TABLES     VARCHAR2(256),  
    13.   NOTE3      VARCHAR2(256)  
    14. )  
    COUNTSQL字段为CLOB类型,索引为6
    1. import java.io.BufferedReader;  
    2. import java.io.IOException;  
    3. import java.io.Reader;  
    4. import java.sql.Clob;  
    5. import java.sql.SQLException;  
    6. import java.util.ArrayList;  
    7. import java.util.HashMap;  
    8. import java.util.List;  
    9. import java.util.Map;  
    10.   
    11. import org.hibernate.SessionFactory;  
    12. import org.hibernate.cfg.Configuration;  
    13.   
    14. public class T {  
    15.   
    16.     public static final SessionFactory sessionFactory;  
    17.     static {  
    18.         try {  
    19.             sessionFactory = new Configuration().configure()  
    20.                     .buildSessionFactory();  
    21.         } catch (Throwable ex) {  
    22.             throw new ExceptionInInitializerError(ex);  
    23.         }  
    24.     }  
    25.   
    26.     /** 
    27.      * @param args 
    28.      */  
    29.     public static void main(String[] args) {  
    30.         new T().getList();  
    31.     }  
    32.   
    33.     public void getList() {  
    34.         String querySQL = "select * from GRID_RESOURCE";  
    35.         String countSQL = "";  
    36.         List<Object[]> list = new ArrayList<Object[]>();  
    37.         // List o_list = new ArrayList();  
    38.         try {  
    39.             list = sessionFactory.openSession().createSQLQuery(querySQL).list();  
    40.             for (Object[] obj : list) {  
    41.                 Map<String, Object> map = new HashMap<String, Object>();  
    42.                 Clob sc = (Clob) obj[6];  
    43.                 countSQL = ClobToString(sc);  
    44.                 System.out.println(countSQL);  
    45.             }  
    46.             // 另一个遍历方法  
    47.             /* 
    48.              * for(Object obj:o_list){ Object oo[] = (Object[])obj; 
    49.              * System.out.println(oo[6]); } 
    50.              */  
    51.         } catch (Exception e) {  
    52.             e.printStackTrace();  
    53.         }  
    54.     }  
    55.   
    56.     // 将字Clob转成String类型  
    57.     public String ClobToString(Clob sc) throws SQLException, IOException {  
    58.         String reString = "";  
    59.         Reader is = sc.getCharacterStream();// 得到流  
    60.         BufferedReader br = new BufferedReader(is);  
    61.         String s = br.readLine();  
    62.         StringBuffer sb = new StringBuffer();  
    63.         while (s != null) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING  
    64.             sb.append(s);  
    65.             s = br.readLine();  
    66.         }  
    67.         reString = sb.toString();  
    68.         return reString;  
    69.     }  
    70.   
    71. }  
  • 相关阅读:
    火车头采集器如何采集QQ群成员中的QQ号
    Unix目录结构的来历
    加速Windows 2003关机速度的设置方法
    win2003 序列号 windows2003 sp2可用序列号大全(准版与企业版)
    自己动手在win2003系统中添加虚拟网卡
    Windows Server 2003下DHCP服务器的安装与简单配置图文教程
    win2003远程桌面怎么切换到多用户?
    Win2003打开网页时总是提示添加网址到信任站点的设置方法
    我们正在招聘java工程师,想来美团工作吗?
    JUC回顾之-AQS同步器的实现原理
  • 原文地址:https://www.cnblogs.com/ConfidentLiu/p/10282935.html
Copyright © 2011-2022 走看看