`
Java_Fan
  • 浏览: 81758 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

JDBC处理大文本数据-Clob

 
阅读更多
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.sql.Clob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class ClobTest {

	/**
	 * @param args
	 * @throws IOException
	 * @throws SQLException
	 */
	public static void main(String[] args) throws SQLException, IOException {
		// create();
		read();
	}

	static void read() throws SQLException, IOException {
		Connection conn = null;
		Statement st = null;
		ResultSet rs = null;
		try {
			// 2.建立连接
			conn = JdbcUtils.getConnection();
			// conn = JdbcUtilsSing.getInstance().getConnection();
			// 3.创建语句
			st = conn.createStatement();

			// 4.执行语句
			rs = st.executeQuery("select big_text  from clob_test");

			// 5.处理结果
			while (rs.next()) {
				Clob clob = rs.getClob(1);
				Reader reader = clob.getCharacterStream();
				// reader = rs.getCharacterStream(1);
				// String s = rs.getString(1);

				File file = new File("JdbUtils_bak.java");
				Writer writer = new BufferedWriter(new FileWriter(file));
				char[] buff = new char[1024];
				for (int i = 0; (i = reader.read(buff)) > 0;) {
					writer.write(buff, 0, i);
				}
				writer.close();
				reader.close();
			}
		} finally {
			JdbcUtils.free(rs, st, conn);
		}
	}

	static void create() throws SQLException, IOException {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			// 2.建立连接
			conn = JdbcUtils.getConnection();
			// conn = JdbcUtilsSing.getInstance().getConnection();
			// 3.创建语句
			String sql = "insert into clob_test(big_text) values (?) ";
			ps = conn.prepareStatement(sql);
			File file = new File("src/cn/itcast/jdbc/JdbcUtils.java");
			Reader reader = new BufferedReader(new FileReader(file));

			ps.setCharacterStream(1, reader, (int) file.length());
			// ps.setString(1, x);
			// 4.执行语句
			int i = ps.executeUpdate();

			reader.close();

			System.out.println("i=" + i);
		} finally {
			JdbcUtils.free(rs, ps, conn);
		}
	}

}

分享到:
评论

相关推荐

    java-deal-the-CLOB-data0.zip_大数据 编程_数据处理

    `CLOB`用于存储大量的文本数据,如长篇文章、XML文档或者任何非结构化的字符数据。在大数据场景下,对这类数据进行高效管理和操作显得尤为重要。 1. **CLOB概述** - `CLOB`是SQL标准定义的一种数据类型,用于存储...

    jdbc 处理clob类型字段

    当我们在处理大型文本数据时,例如XML文档、长篇文章或者大段代码,数据库通常会提供CLOB(Character Large Object)类型来存储这类数据。本主题主要探讨如何使用JDBC有效地操作Oracle数据库中的CLOB类型字段,包括...

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

    总之,理解和掌握CLOB在JDBC中的处理方式是开发与Oracle数据库交互的应用程序时的重要技能,尤其是当处理大量文本数据时。确保高效、安全地操作这些大字段,可以提高应用程序的性能和用户体验。

    JDBC中操作Blob、Clob等对象

    而Clob(Character Large Object)则用于存储大量的文本数据,如文章、文档等。正确地理解和使用这两种类型对于开发能够高效处理大量数据的应用程序至关重要。 #### 二、Apache Derby简介 Apache Derby是一款高质量...

    Oracle中CLOB类型文字处理代码

    在创建表时,可以定义一个CLOB字段来存储大文本数据。例如: ```sql CREATE TABLE my_table ( id NUMBER PRIMARY KEY, clob_data CLOB ); ``` 3. 插入CLOB数据: - 使用`EMPTY_CLOB()`函数可以插入一个空的...

    spring2通过jdbc的方式读取、更新数据库的clob或者blob类型的数据

    CLOB通常用于存储大文本数据,如文章、报告等,而BLOB则用于存储二进制大数据,如图片、音频或视频文件。 首先,我们来了解Spring的JdbcTemplate,它是Spring JDBC模块的核心组件,提供了一种简化数据库操作的抽象...

    jdbc_blob_clob.rar

    而Clob是Character Large Object的缩写,用于存储大文本数据,比如长篇的文本或XML文档。在Java编程中,当需要与数据库交互并处理这些大数据类型时,JDBC提供了接口和方法来操作Blob和Clob。 这篇博客文章(链接已...

    Oracle clob和blob在jdbc的应用

    这两种类型用于存储大量的文本数据(CLOB)和二进制数据(BLOB),例如图片、文档或音频文件。在JDBC(Java Database Connectivity)中,我们可以使用特定的方法来操作这些类型的数据。 首先,我们需要建立与数据库...

    使用Jdbc4操作Blob,Clob

    Blob通常用于存储二进制数据,如图片、音频或视频文件,而Clob则用于存储大量文本数据,如长篇的文本或XML文档。在JDBC4中,处理LOB对象变得更为直接和高效,主要归功于新增的`java.sql.Blob`和`java.sql.Clob`接口...

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

    在数据库操作中,经常会遇到处理大量文本数据的需求,例如存储文章、新闻、文档等。Oracle数据库提供了CLOB(Character Large Object)类型来存储大容量的字符数据。在Java应用程序中通过JDBC与Oracle交互时,正确地...

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

    在Java的JDBC环境中,处理Oracle数据库中的CLOB...以上是处理Oracle CLOB字段的关键知识点,理解这些概念对于高效地使用JDBC操作大文本数据至关重要。在实际项目中,还需要考虑性能优化、错误处理和资源管理等细节。

    java中操作oracle的CLOB字段精解

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

    数据库读取clob字段

    3. **读取CLOB数据**:遍历查询结果,通过`getClob()`方法获取CLOB对象,然后使用`getSubString()`方法读取CLOB中的文本数据。 4. **事务管理**:为了确保数据的一致性和完整性,使用了事务管理,即先关闭自动提交...

    iBATIS操作Oracle CLOB数据

    在IT行业中,数据库...在实际开发中,合理配置和使用这些机制,能够有效地管理大量文本数据,同时保持代码的简洁性和可维护性。通过阅读指定的博客链接,可以获取更多关于iBATIS和Oracle CLOB操作的实战经验和技巧。

    关于Oracle的 Clob数据类型在Hibernate中的应用小结

    在Hibernate框架中,Clob类型的字段处理是数据库操作中的一个关键环节,尤其是在处理大量文本数据时。以下是对Oracle Clob在Hibernate中应用的详细总结: 3.1 传统的JDBC方式: 在没有使用ORM框架之前,我们通常...

    关于在Hibernate中对于Clob,Blob字段的处理方法

    使用Oracle JDBC驱动程序的一个优点是,它支持流式处理,这意味着你可以避免一次性加载整个Blob或Clob到内存中,这对于处理大文件非常有用。例如,你可以通过`setBinaryStream`和`getBinaryStream`方法读写Blob数据...

    详解jdbc实现对CLOB和BLOB数据类型的操作

    JDBC实现对CLOB和BLOB数据类型的操作 在数据库中,存在两种类型的数据:CLOB(Character Large OBject)和BLOB(Binary Large OBject),它们用于存储大型数据,如文本、图片、音频、视频等。对CLOB和BLOB数据类型...

    clob-blob.rar_blob and clob_clob_java CLOB_java oracle cl_oracle

    CLOB用于存储大文本数据,如长篇文章或XML文档,而BLOB则用于存储图像、音频、视频等非结构化数据。在Java编程中,处理这些大数据对象时,我们需要使用特定的API和技巧。 标题"Clob-blob.rar_blob and clob_clob_...

Global site tag (gtag.js) - Google Analytics