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

JDBC操作大的文本数据

    博客分类:
  • JDBC
阅读更多
//JDBC操作大的文本数据是通过IO字符流操作 

public class ClobTest { 

    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);

       }

    }
}

 

分享到:
评论

相关推荐

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

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

    读取txt-jdbc导入百万级数据.rar

    本示例以"读取txt-jdbc导入百万级数据.rar"为主题,探讨了如何利用Spring的JdbcTemplate工具处理百万级别的文本数据并将其导入数据库。以下是对这个主题的详细解释: 1. **JDBC (Java Database Connectivity)**:...

    JDBC的批量处理数据

    通过合理利用JDBC的批量处理功能,开发者可以优化数据操作的性能,特别是在处理大数据量时,能有效减少数据库的负担,提高系统的整体响应速度。因此,理解和掌握批量处理是每个Java数据库开发者必备的技能之一。

    JAVA代码数据驾驶舱应用,可通过JDBC、SOLR、ELASTIC等数据源,创建数据集,分析数据图表,生产数据看板.zip

    在数据驾驶舱中,Solr可以作为数据源,特别是当需要对文本数据进行高级搜索和分析时。 3. **ELASTIC (Elasticsearch)**:Elasticsearch是另一个流行的搜索引擎和分析引擎,同样基于Lucene。它支持实时的数据存储、...

    各大数据库类型与JDBC中介数据类型的转换对比

    - **MySQL**: 支持`TEXT`和`LONGTEXT`类型,用于存储较大的文本数据。 - **SQL Server**: 使用`NTEXT`类型,用于存储Unicode文本。 - **Oracle**: 支持`CLOB`类型,用于存储大的文本数据。 - **DB2**: 也支持`...

    JDBC基础知识1_保存大文本_分页_批处理

    保存大文本_分页_批处理”揭示了本文将要讨论的是Java数据库连接(Java Database Connectivity, JDBC)的基础知识,主要包括如何在数据库中处理大文本数据、实现分页查询以及利用批处理提高数据库操作效率这三个核心...

    使用JDBC数据接口存取Oracle LOB(大对象).pdf

    BLOB用于存储非文本的二进制数据,如图片、音频和视频文件,而CLOB则用于存储大文本数据,如长篇文章或文档。 接着,文章详细讲述了JDBC在访问Oracle数据库中的LOB数据时的作用。JDBC是Java连接关系数据库的标准...

    JDBC.rar_MYSQL_MYSQL  数据类型_jdbc_jdbc mysql

    2. **字符串类型**:如`VARCHAR`(可变长度字符串)、`CHAR`(固定长度字符串)、`TEXT`(大文本)等,在JDBC中通常映射为`java.lang.String`。 3. **日期/时间类型**:包括`DATE`(日期)、`TIME`(时间)、`...

    jdbc 处理clob类型字段

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

    ORACLE数据库中插入大字段数据的解决方法

    CLOB类型用于存储大量的文本数据,而BLOB则适用于二进制大数据,如图片或视频。当插入或更新包含大字段的数据时,ORACLE会采用不同的策略以优化存储和性能。 1. **LOB存储模式**: - **临时LOB**:数据存放在内存...

    下载ftp文件,读取内容通过Phoenix JDBC连接往Hbase数据库中建表插入数据。

    在这个案例中,可能是一个包含数据的文本文件或CSV文件,这些数据将被用于后续的数据库操作。 Phoenix是一个开源的SQL层,它允许通过JDBC(Java Database Connectivity)接口与Hbase进行交互。Phoenix将SQL语句转换...

    XML+JDBCXML+JDBC

    2. 数据交换:在Web服务中,XML作为数据交换格式,JDBC则负责将接收到的XML数据转换为数据库操作。 3. 报表生成:XML可以用于存储报表模板,JDBC获取数据库数据填充模板,生成报表。 4. 配置数据库连接:XML文件可以...

    jdbc数据库连接写法

    ### JDBC 数据库连接写法详解 #### 一、引言 在Java开发中,与数据库进行交互是一项非常常见的任务。JDBC(Java Database Connectivity)是...希望这些信息能帮助你在Java开发中更好地使用JDBC进行数据库连接和操作。

    java操作xml和sql server 2008必备包(crimson jdom sqljdbc sqljdbc4)

    通过JDOM,开发者可以轻松地创建、读取、修改和保存XML文档,其功能包括元素、属性、文本、注释等节点的操作。JDOM还支持XPath表达式,用于快速定位XML文档中的特定节点。 **Sqljdbc.jar和Sqljdbc4.jar** 这两个JAR...

    JDBC中操作Blob、Clob等对象

    接下来是一个具体的示例,展示了如何使用JDBC操作包含Blob和Clob字段的数据库表。 1. **创建包含Blob和Clob字段的表**: ```java String url = "jdbc:derby:clobberyclob;create=true"; Class.forName("org....

    JDBC操作连接MYSQL数据库.pdf

    本篇文档介绍了如何通过JDBC操作连接MySQL数据库。 首先,需要导入JDBC驱动程序到Java项目中,这是使用JDBC连接数据库的前提。MySQL数据库的JDBC驱动程序名为"com.mysql.jdbc.Driver",在Java 6及以上版本中,MySQL...

    java(jdbc)学习

    JDBC支持各种数据类型,包括基本数据类型(如INT、VARCHAR)、日期类型(DATE、TIME、TIMESTAMP)、大文本类型(CLOB)和大二进制对象(BLOB)。 #### 六、DAO 设计模式 DAO(Data Access Object)设计模式用于...

    JDBC+Hibernate将Blob数据写入Oracle

    与传统的文本或数字字段不同,BLOB字段有自己的游标(Cursor),这使得直接写入数据变得复杂。为了写入BLOB数据,首先需要创建一个空的BLOB实例,然后获取这个BLOB的游标,最后才能真正地向其中写入数据。 #### 2. ...

    高级JDBC教案

    最后,JDBC还支持处理大型对象,如字符大对象CLOB(Character Large Object)和二进制大对象BLOB(Binary Large Object),用于存储大量文本和二进制数据。 RowSet是JDBC的另一个扩展,它是一种离线数据视图,支持...

    JDBC连接MySQL例子

    本示例是关于如何使用JDBC连接MySQL数据库的一个实践教程,涵盖了数据库连接、数据操作以及大文本和图片的存储。 首先,我们需要了解JDBC的基本流程,包括加载驱动、建立连接、创建Statement或PreparedStatement...

Global site tag (gtag.js) - Google Analytics