`
小鱼不爱水
  • 浏览: 19709 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JDBC处理包含CLOB字段

    博客分类:
  • java
阅读更多

 

public static List<Map<String,Object>> getDetail(final String instance,final String sql) throws Exception{
 
    String key="";
    Connection con=null;
    Statement st=null;
    ResultSet rs=null;
    ResultSetMetaData rsmd=null;
    List<Map<String,Object>> resultList =new ArrayList<Map<String,Object>>();
     
    Map<String,String> jdbcMap=new HashMap<String,String>();
 
    //jdbcMap=praseXml(instance);//取得jdbc连接串
 
    try {
        Class.forName(jdbcMap.get("driver"));
        con=DriverManager.getConnection(jdbcMap.get("url"),DesEncryptUtils.decrypt(jdbcMap.get("name")),DesEncryptUtils.decrypt(jdbcMap.get("pass")));
        st = con.createStatement();
        rs = st.executeQuery(sql);
        rsmd=rs.getMetaData();
        logger.info("...Running...");
        int columnCount = rsmd.getColumnCount();
        Map<String, Object> map = null;
         
        while (rs.next()) {
            map = new HashMap<String, Object>();
            for (int i = 1; i <= columnCount; i++) {
                key = rsmd.getColumnName(i);
                if( rs.getObject(key) instanceof Clob){
                    Clob clob = rs.getClob(key);// java.sql.Clob类型 
                    String clobValue=getClobString(clob);
                    map.put(key,clobValue);
                }else{
                    Object value = rs.getObject(key);
                    map.put(key, value);
                }
            }
            resultList.add(map);
        }
         
    }finally{
    con.close();
        st.close();
        rs.close();
    }
 
    return resultList;
}

 

 

//处理CLOB主要方法   
public static String getClobString(Clob c) {
        try {
            Reader reader = c.getCharacterStream();
            if (reader == null) {
                return null;
            }
            StringBuffer sb = new StringBuffer();
            char[] charbuf = new char[4096];
            for (int i = reader.read(charbuf); i > 0; i = reader.read(charbuf)) {
                sb.append(charbuf, 0, i);
            }
            return new String(sb.toString().getBytes("UTF-8"));
        } catch (Exception e) {
            return "";
        }
    }

 

分享到:
评论

相关推荐

    jdbc 处理clob类型字段

    总的来说,处理Oracle数据库中的CLOB字段,关键在于正确地创建和使用Clob对象,并结合JDBC API进行操作。在处理大量文本数据时,注意优化数据读写策略,以避免内存溢出等问题。以上所述的增删改查方法是基础操作,...

    jdbc读写Oracle的CLOB字段

    JDBC读写Oracle的CLOB字段

    JDBC方式操作CLOB字段实例

    JDBC方式操作CLOB字段实例代码 。

    java中操作oracle的CLOB字段精解

    Java 中操作 Oracle 的 CLOB 字段精解 Java 中操作 Oracle 的 CLOB 字段是...在 Java 中操作 Oracle 的 CLOB 字段需要使用 Oracle 的 JDBC 驱动程序,了解 CLOB 字段的类型和特点,并掌握插入、修改和处理异常的技术。

    数据库读取clob字段

    2. **执行查询语句**:使用SQL语句查询包含CLOB字段的记录。 3. **处理CLOB对象**:获取结果集中的CLOB对象,并对其进行读取或操作。 4. **关闭资源**:最后确保关闭所有的数据库连接和释放相关的资源。 #### 示例...

    oracle数据库的clob大字段在jdbc中的处理方式

    在Java中,当我们需要通过JDBC(Java Database Connectivity)接口与Oracle数据库交互时,处理CLOB字段可能会遇到一些挑战。这篇文档将详细阐述如何在JDBC中有效地读取和操作Oracle数据库的CLOB字段,并将其转换为...

    Hibernate存储Clob字段的方式总结

    由于Clob字段通常用于存储大量文本数据,如果使用传统的JDBC方式处理,代码将会相当复杂。但随着数据库技术的发展,越来越多的数据库厂商提供了更加简单的方式来操作这些大字段。例如,Oracle数据库提供了支持以...

    Oracle如何插入CLOB字段值

    Oracle如何插入CLOB字段值,附件为简单的示例代码。Oracle如何插入CLOB字段值,附件为简单的示例代码。

    CLOB字段处理

    CLOB 字段处理 CLOB(Character Large OBject)是 Oracle 中的一种...CLOB 字段处理需要使用 Oracle 的 JDBC 驱动程序和 oracle.sql.CLOB 类,通过 PreparedStatement 对象和 ResultSet 对象来实现数据的存储和读取。

    解析jdbc处理oracle的clob字段的详解

    - JDBC提供了对CLOB字段的操作接口,包括`java.sql.Clob`,通过它可以在数据库和应用程序之间读写CLOB数据。 3. **empty_clob()函数**: - 在插入CLOB数据时,如果值是空的,可以使用Oracle SQL的`empty_clob()`...

    sql server中的image类型的数据导出到oracle的clob字段中

    为了将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中,我们需要使用Java 语言和 JDBC 驱动程序。下面是一个示例代码,演示如何将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中: ...

    spring+hibernate操作oracle的clob字段

    其中,`entity`对象包含了一个CLOB类型的属性,`assessRegDao`是一个接口,它的`update`方法由Hibernate实现,能够正确地处理CLOB字段的更新。 6. **注意事项** - 确保你的Oracle JDBC驱动版本与所使用的Oracle...

    spring+hibernate 解决大字段(clob)

    其中,`hibernate.jdbc.batch_size`设置为0表示禁用批处理,这对于处理CLOB字段尤为重要,因为批处理可能会导致CLOB数据被截断。 #### 三、Hibernate HBM文件配置 在Hibernate映射文件(HBM文件)中,也需要正确...

    ActiveXObject和Clob字段的插入更新

    例如,使用Java的JDBC操作Oracle数据库中的Clob字段: ```java // 假设已有连接conn和PreparedStatement ps String sql = "INSERT INTO table_name (clob_column) VALUES (?)"; ps.setClob(1, new java.io.String...

    java读写oracle clob字段

    本教程将介绍如何使用Java来读取和写入Oracle数据库中的CLOB字段。 首先,我们需要引入相关的Java和Oracle JDBC驱动库。在上述代码中,我们看到`import oracle.jdbc.driver.OracleDriver;`,这表示我们将使用Oracle...

    运用Java如何存取Oracle中的CLOB类型字段

    在Java中处理Oracle的CLOB字段,首先需要导入相关的Java SQL包以及Oracle JDBC驱动特有的类。这些包括`java.sql.*`,`java.io.*`,以及`oracle.jdbc.driver.*`和`oracle.sql.*`。这一步是建立与Oracle数据库连接的...

    利用spring的jdbcTemplate处理blob、clob

    spring 中对大数据的处理,包括clob,blob的数据。比之jdbc下简便很多。

    jdbc批量插入大字段

    在实际应用中,"batchinsert"可能是一个包含示例代码的文件,展示了如何使用JDBC批量插入Blob字段的具体实现。通过研究和理解这些代码,你可以更好地掌握批量插入Blob数据的技巧,并根据自己的需求进行调整和优化。 ...

    关于oracle中clob字段查询慢的问题及解决方法

    最近在用oracle的过程中用到了对blob字段模糊查询的问题,对oracle来说,我并不是高手,找了很多的资料终于能够查出来了。 blob字段直接用 select * from table_name where column like ‘%%'查找的时候是不能实现...

Global site tag (gtag.js) - Google Analytics