`
sbpya
  • 浏览: 610041 次
  • 性别: Icon_minigender_1
  • 来自: 杭州,长沙
社区版块
存档分类
最新评论

java中操作CLOB字段

    博客分类:
  • Java
阅读更多

1、往数据库中插入一个新的CLOB对象    
  public   static   void   clobInsert(String   infile)   throws   Exception    
  {    
  /*   设定不自动提交   */    
  boolean   defaultCommit   =   conn.getAutoCommit();    
  conn.setAutoCommit(false);    
  try   {    
  /*   插入一个空的CLOB对象   */    
  stmt.executeUpdate("INSERT   INTO   TEST_CLOB   VALUES   (’111’,   EMPTY_CLOB())");    
  /*   查询此CLOB对象并锁定   */    
  ResultSet   rs   =   stmt.executeQuery("SELECT   CLOBCOL   FROM   TEST_CLOB   WHERE   ID=’111’   FOR   UPDATE");    
  while   (rs.next())   {    
  /*   取出此CLOB对象   */    
  oracle.sql.CLOB   clob   =   (oracle.sql.CLOB)rs.getClob("CLOBCOL");    
  /*   向CLOB对象中写入数据   */    
  BufferedWriter   out   =   new   BufferedWriter(clob.getCharacterOutputStream());    
  BufferedReader   in   =   new   BufferedReader(new   FileReader(infile));    
  int   c;    
  while   ((c=in.read())!=-1)   {    
  out.write(c);    
  }    
  in.close();    
  out.close();    
  }    
  /*   正式提交   */    
  conn.commit();    
  }   catch   (Exception   ex)   {    
  /*   出错回滚   */    
  conn.rollback();    
  throw   ex;    
  }    
  /*   恢复原提交状态   */    
  conn.setAutoCommit(defaultCommit);    
  }    
  2、修改CLOB对象(是在原CLOB对象基础上进行覆盖式的修改)    
  public   static   void   clobModify(String   infile)   throws   Exception    
  {    
  /*   设定不自动提交   */    
  boolean   defaultCommit   =   conn.getAutoCommit();    
  conn.setAutoCommit(false);    
  try   {    
  /*   查询CLOB对象并锁定   */    
  ResultSet   rs   =   stmt.executeQuery("SELECT   CLOBCOL   FROM   TEST_CLOB   WHERE   ID=’111’   FOR   UPDATE");    
  while   (rs.next())   {    
  /*   获取此CLOB对象   */    
  oracle.sql.CLOB   clob   =   (oracle.sql.CLOB)rs.getClob("CLOBCOL");    
  /*   进行覆盖式修改   */    
  BufferedWriter   out   =   new   BufferedWriter(clob.getCharacterOutputStream());    
  BufferedReader   in   =   new   BufferedReader(new   FileReader(infile));    
  int   c;    
  while   ((c=in.read())!=-1)   {    
  out.write(c);    
  }    
  in.close();    
  out.close();    
  }    
  /*   正式提交   */    
  conn.commit();    
  }   catch   (Exception   ex)   {    
  /*   出错回滚   */    
  conn.rollback();    
  throw   ex;    
  }    
  /*   恢复原提交状态   */    
  conn.setAutoCommit(defaultCommit);    
  }    
    3、替换CLOB对象(将原CLOB对象清除,换成一个全新的CLOB对象)    
  public   static   void   clobReplace(String   infile)   throws   Exception    
  {    
  /*   设定不自动提交   */    
  boolean   defaultCommit   =   conn.getAutoCommit();    
  conn.setAutoCommit(false);    
  try   {    
  /*   清空原CLOB对象   */    
  stmt.executeUpdate("UPDATE   TEST_CLOB   SET   CLOBCOL=EMPTY_CLOB()   WHERE   ID=’111’");    
  /*   查询CLOB对象并锁定   */    
  ResultSet   rs   =   stmt.executeQuery("SELECT   CLOBCOL   FROM   TEST_CLOB   WHERE   ID=’111’   FOR   UPDATE");    
  while   (rs.next())   {    
  /*   获取此CLOB对象   */    
  oracle.sql.CLOB   clob   =   (oracle.sql.CLOB)rs.getClob("CLOBCOL");    
  /*   更新数据   */    
  BufferedWriter   out   =   new   BufferedWriter(clob.getCharacterOutputStream());    
  BufferedReader   in   =   new   BufferedReader(new   FileReader(infile));    
  int   c;    
  while   ((c=in.read())!=-1)   {    
  out.write(c);    
  }    
  in.close();    
  out.close();    
  }    
  /*   正式提交   */    
  conn.commit();    
  }   catch   (Exception   ex)   {    
  /*   出错回滚   */    
  conn.rollback();    
  throw   ex;    
  }    
  /*   恢复原提交状态   */    
  conn.setAutoCommit(defaultCommit);    
  }    
  4、CLOB对象读取    
  public   static   void   clobRead(String   outfile)   throws   Exception    
  {    
  /*   设定不自动提交   */    
  boolean   defaultCommit   =   conn.getAutoCommit();    
  conn.setAutoCommit(false);    
  try   {    
  /*   查询CLOB对象   */    
  ResultSet   rs   =   stmt.executeQuery("SELECT   *   FROM   TEST_CLOB   WHERE   ID=’111’");    
  while   (rs.next())   {    
  /*   获取CLOB对象   */    
  oracle.sql.CLOB   clob   =   (oracle.sql.CLOB)rs.getClob("CLOBCOL");    
  /*   以字符形式输出   */    
  BufferedReader   in   =   new   BufferedReader(clob.getCharacterStream());    
  BufferedWriter   out   =   new   BufferedWriter(new   FileWriter(outfile));    
  int   c;    
  while   ((c=in.read())!=-1)   {    
  out.write(c);    
  }    
  out.close();    
  in.close();    
  }    
  }   catch   (Exception   ex)   {    
  conn.rollback();    
  throw   ex;    
  }    
  /*   恢复原提交状态   */    
  conn.setAutoCommit(defaultCommit);    
  }    

分享到:
评论

相关推荐

    java中操作oracle的CLOB字段精解

    Java 中操作 Oracle 的 CLOB 字段精解 Java 中操作 Oracle 的 CLOB 字段是一种常见的操作,在实际开发中,我们经常需要在 Oracle 数据库中存储和读取大型文本数据,这时就需要使用 CLOB(Character Large OBject)...

    java读写oracle clob字段

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

    读取oracle数据库中clob字段的值

    在Java中,读取Oracle数据库中的CLOB字段可以通过以下步骤实现: 1. **获取CLOB对象**: 首先,通过执行查询语句并从结果集中获取CLOB对象。示例代码中的`lookmail[6]`表示从查询结果的第7个元素(下标为6)获取...

    jdbc 处理clob类型字段

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

    数据库读取clob字段

    下面是一个Java方法`clobRead()`的具体实现,用于从Oracle数据库中读取CLOB字段的内容。 ```java public static String clobRead() throws Exception { DBlo_db = null; String detailinfo = ""; Connection ...

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

    本文将深入探讨这一主题,基于给定的代码示例,解析如何在Java环境中读取和写入Oracle数据库的CLOB字段。 ### Java存取Oracle CLOB类型字段 #### 1. 导入必要的包 在Java中处理Oracle的CLOB字段,首先需要导入相关...

    java读取oracle数据库中clob字段.txt

    java读取oracle数据库中clob字段 把oracle数据库中字段类型为clob的字段值以字符串的形式读取出来

    spring+hibernate操作oracle的clob字段

    在J2EE开发中,处理大数据对象(如大文本或二进制数据)时,Oracle数据库的CLOB...通过以上配置和操作,你可以在Spring和Hibernate的环境中顺利地对Oracle数据库的CLOB字段进行读写,满足J2EE应用中的大数据存储需求。

    Hibernate存储Clob字段的方式总结

    Hibernate存储Clob字段的方式总结涉及了在Java开发中使用Hibernate操作大型文本字段Clob的操作方法。本文主要介绍了两种操作Clob字段的方法,一种是将Clob字段直接映射为String类型,另一种是使用Clob类型进行处理。...

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

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

    java实例对数据库的clob字段操作

    该类中包含有多个方法对数据库中的clob字段进行查询、插入、事物处理、批处理、调用存储过程等操作。使用的是myeclipse8.6,oracle11g,测试的时候执行手动建个表xml_buffer,包含id、xmlcontent字段即可,然后在...

    JAVA对clob的操作

    CLOB操作与BLOB操作类似,但是在获取java.sql.Clob对象后需要强制转换为oracle.sql.CLOB对象,以便使用getCharacterOutputStream()方法将数据写入CLOB字段。 三、出库操作 出库操作可以使用ResultSet.getBlob()或...

    Mybatis 处理 CLOB、BLOB 类型数据

    在 Oracle 数据库中,CLOB 类型对应的数据库类型是 CLOB,在 MySQL 中对应的类型是 TEXT 或 LONGTEXT。 BLOB 类型用于存储二进制数据,可以存储图片、音乐、视频等文件。在 Oracle 数据库中,BLOB 类型对应的数据库...

    java操作clob

    在 Java 中操作 Oracle 数据库中的 CLOB(Character Large Object)字段是一项常见的任务。CLOB 类型用于存储大量文本数据,如长篇文章或文档。本教程将详细介绍如何在 Java 中使用 JDBC 和 JNDI 连接访问 Oracle ...

    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...

    oracle数据库中如何处理clob字段方法介绍

    在Oracle数据库中,CLOB...总之,处理Oracle中的CLOB字段需要对数据库特性和事务管理有深入理解,同时也需要熟悉Java或其他编程语言中的CLOB操作。通过合理的策略和技巧,可以有效地管理和操作这些大型文本数据。

    CLOB字段处理

    在 Java 中,通过使用 oracle.sql.CLOB 类来处理 CLOB 类型字段的存储和读取。 在 Java 中,连接 Oracle 数据库需要使用 Oracle 的 JDBC 驱动程序。首先,需要使用 Class.forName() 方法加载驱动程序,然后使用 ...

    mybatis 对clob类型转换

    当你需要将一个字符串或者Reader对象插入到CLOB字段时,MyBatis默认可能无法正确处理。此时,你需要自定义一个TypeHandler来处理这种转换。创建一个实现`org.apache.ibatis.type.TypeHandler`接口的类,重写`...

Global site tag (gtag.js) - Google Analytics