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

 

 

[java]  view plain copy print ?
  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. }  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM