`
wlxlz
  • 浏览: 8036 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java Clob 操作

    博客分类:
  • java
阅读更多
java操作数据库clob字段的简单例子:

package com.test.db.clob;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.Writer;
import java.sql.Clob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class ClobTest {
	
	private static Connection conn;
	
	static {
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conn = DriverManager.getConnection(
					"jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) throws SQLException, IOException {
		testInsert();
		testUpdate();
		testRead();
	}

	private static void testInsert() throws SQLException {
		String sql = "insert into test_clob values(1, empty_clob())";
		Statement stm = conn.createStatement();
		stm.execute(sql);
	}
	
	private static void testUpdate() throws SQLException, IOException {
		String sql = "select content from test_clob where id = 1 for update";
		Statement stm = conn.createStatement();
		ResultSet rs = stm.executeQuery(sql);
		while (rs.next()) {
			Clob c = rs.getClob(1);
			c.truncate(0);// clear
			Writer w = c.setCharacterStream(1);//The first position is 1
			w.write("abc");
			w.close();
			c.setString(c.length() + 1, "abc");
			conn.commit();
		}
	}
	
	private static void testRead() throws SQLException, IOException {
		String sql = "select content from test_clob where id = 1";
		PreparedStatement pstm = conn.prepareStatement(sql);
		ResultSet rs = pstm.executeQuery();
		while (rs.next()) {
			Clob clob = rs.getClob("content");
			System.out.println("clob.getSubString(1, 2) --> " + clob.getSubString(1, 2));
			System.out.println("clob.getSubString(1, (int)clob.length()) --> " + 
					clob.getSubString(1, (int)clob.length()));
			BufferedReader r = new BufferedReader(clob.getCharacterStream());
			String s;
			while ((s = r.readLine()) != null) {
				System.out.println(s);
			}
			r.close();
		}
	}
	
}

输出结果:
clob.getSubString(1, 2) --> ab
clob.getSubString(1, (int)clob.length()) --> abcabc
abcabc
分享到:
评论

相关推荐

    JAVA对clob的操作

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

    java存储oracle中的clob类型

    #### 一、CLOB类型简介及Java操作方法 CLOB(Character Large Object)是一种用于存储大量文本数据的数据类型,在Oracle数据库中被广泛使用,可以支持最大4GB的数据量。在Java编程中,为了能够有效地与Oracle数据库...

    java操作clob

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

    java读写oracle clob字段

    在Java中,Oracle的CLOB操作通常涉及到以下几个关键步骤: 1. **建立数据库连接**: - 使用`DriverManager.getConnection()`方法,传入数据库URL、用户名和密码来创建数据库连接。例如: ```java Connection ...

    java中操作oracle的CLOB字段精解

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

    clob-blob.rar_blob and clob_clob_java CLOB_java oracle cl_oracle

    标题"Clob-blob.rar_blob and clob_clob_java CLOB_java oracle cl_oracle"暗示了这个压缩包包含的资源是关于使用Java操作Oracle数据库中的CLOB和BLOB字段的示例代码。这个压缩包可能包含了一个名为`clob-blob.java`...

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

    本文将详细介绍如何使用Java对Oracle中的CLOB类型字段进行操作。 #### CLOB简介 CLOB是Oracle数据库用于存储大型文本数据的一种数据类型,它可以存储最大为4GB的字符数据。在处理CLOB数据时,通常会涉及到以下几种...

    Hibernate对BLOB CLOB操作

    总结来说,Hibernate通过配置文件和实体类实现了对BLOB和CLOB类型的支持,允许开发者在Java代码中方便地操作大数据。通过SessionFactory和Session接口,我们可以进行数据的增删改查操作,同时注意数据库的性能优化,...

    mybatis 对clob类型转换

    在使用MyBatis框架进行数据操作时,我们可能会遇到CLOB类型数据的读写问题,尤其是在转换和插入数据库时。本篇将详细探讨MyBatis中处理CLOB类型数据的转换以及解决可能出现的异常情况。 首先,MyBatis是Java中的一...

    jdbc 处理clob类型字段

    本主题主要探讨如何使用JDBC有效地操作Oracle数据库中的CLOB类型字段,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)等操作。 首先,我们需要理解CLOB的基本概念。CLOB是一种数据库对象,...

    java 如何操作gbase8s的clob例子

    java 如何操作gbase8s的clob例子

    编程语言Java操作Clob,很实用.pdf

    Java作为一种广泛使用的编程语言,提供了与数据库交互的丰富API,特别是在操作大型对象(LOBs)如CLOB(Character Large Object)和BLOB(Binary Large Object)时。Oracle数据库作为关系型数据库的一种,其操作大型...

    java调用oracle含有clob参数的存储过程.doc

    Java 调用 Oracle 含有 CLOB 参数的存储过程是一种常用的数据库操作方式,下面是该过程的详细介绍: 1. 连接数据库 在 Java 中连接 Oracle 数据库需要使用 Oracle 的 JDBC 驱动程序,在本文中使用的驱动程序为 ...

    spring+hibernate操作oracle的clob字段

    Spring和Hibernate框架结合使用可以有效地进行CLOB字段的操作。以下是实现这一功能的关键步骤和注意事项: 1. **配置SessionFactory** 在Spring配置文件中,你需要创建一个`SessionFactory` bean,同时指定一个`...

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

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

    clob增加、修改

    1. **事务管理**:在进行CLOB操作时,建议使用事务来确保数据的一致性。 2. **资源释放**:操作完成后记得关闭所有打开的资源,如`Reader`、`Writer`、`ResultSet`等。 3. **异常处理**:合理处理可能出现的异常情况...

    java将图片写入数据库,并读出来(blob clob)

    这个过程通常涉及到Blob和Clob数据类型,它们是Java中的两种特殊对象,用于存储大对象(LOB)。Blob用于存储二进制数据,如图片、音频或视频文件,而Clob则用于存储字符数据,比如长文本。以下是如何使用Java处理...

    CLOB、BLOB___CLOB与BLOB的区别

    CLOB、BLOB 与 CLOB 与 BLOB 的区别 CLOB(Character Large OBject)是一种数据库类型,用于存储大型字符对象。...Java 中可以使用不同的方式来操作 CLOB,包括将 CLOB 看成字符串类型和使用流式操作方式。

Global site tag (gtag.js) - Google Analytics