`

用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数据访问接口

    8. **ODBC数据访问接口**:虽然ODBC是微软提出的一个接口,主要用于非Java环境,但理解ODBC可以帮助我们理解JDBC的设计思想,即提供一个统一的接口来访问多种数据库。 在实际开发中,JDBC还涉及到异常处理、连接池...

    JDBC数据访问对象学习资料

    总结起来,JDBC数据访问对象学习资料将引导你理解如何在MVC架构中使用JDBC进行数据访问层的封装,包括DAO设计模式的应用,JDBC的基本操作流程,以及如何在实际项目中优化和提升数据访问的效率。通过学习,你将能够更...

    java使用jdbc将数据库数据导出到csv文件.pdf

    Java 使用 JDBC 将数据库数据导出到 CSV 文件 Java 是一种广泛使用的编程语言,它提供了多种方式来处理数据库数据,而 JDBC(Java Database Connectivity)是 Java 中连接数据库的标准 API 之一。将数据库数据导出...

    多线程以JDBC的方式返回海量数据

    为了避免线程之间的数据竞争,我们需要确保每个线程只操作它自己的数据,或者使用数据库提供的事务支持来确保数据的一致性。 以下是一个基本的多线程处理海量数据的步骤: 1. **配置线程池**:创建一个合适的...

    jdbc访问数据库\jdbc方式直接访问数据库环境的配置

    JDBC(Java Database Connectivity)是一种用于执行SQL语句的标准Java API,它可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了与数据库交互的方式,包括执行SQL语句并返回结果...

    java使用JDBC动态创建数据表及SQL预处理的方法

    Java 使用 JDBC 动态创建数据表及 SQL 预处理的方法 Java 使用 JDBC 动态创建数据表及 SQL 预处理的方法是 Java 语言中常用的数据库操作技术。该方法主要涉及到 JDBC 操作数据库的连接、创建表、添加数据、查询等...

    JDBC数据访问技术.rar

    **JDBC数据访问技术** Java Database Connectivity (JDBC) 是Java平台中用于访问数据库的标准Java API,它允许Java应用程序与各种数据库系统进行交互。通过JDBC,开发者可以编写跨平台的数据库应用程序,无论数据库...

    JDBC访问数据库步骤

    在使用 JDBC 访问数据库之前,需要加载对应的数据库驱动。加载驱动可以使用反射机制,例如使用 `Class.forName(String driverName)` 方法加载驱动。不同的数据库有不同的驱动,例如 Oracle、SQL Server、DB2、...

    Weblogic JDBC 数据源配置和详细参数说明

    JDBC(Java Database Connectivity)是 Java 语言中的一种标准数据库连接技术,几乎所有需要访问数据库的 J2EE 应用程序都直接或间接地使用了它。JDBC 提供了一个统一的接口来访问不同的关系数据库管理系统(DBMS)...

    jdbc 操作oracle blob数据

    jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc ...

    数据库概论实验范文实验八:通过JDBC方式访问数据库

    实验八的主题是“通过JDBC方式访问数据库”,这是数据库概论课程中的一项重要实践内容。JDBC(Java Database Connectivity)是Java语言中用于与各种数据库交互的一种标准接口,由Sun Microsystems开发并定义,现已...

    JDBC读取数据库元数据,自动生成JAVA实体类

    JDBC读取数据库元数据,生成JAVA实体类

    jdbc访问数据库

    这是使用jdbc访问数据库的方法,很好的,很详细的讲解了如何使用jdbc连接数据库

    2022年在JSP中使用JDBC访问数据库.pptx

    "JSP中使用JDBC访问数据库" JSP(Java Server Pages)是一种动态网页技术,允许开发者在网页中嵌入Java代码,从而实现网页的动态化。在JSP中,经常需要访问数据库以获取或存储数据,而JDBC(Java Database ...

    JDBC数据源连接池的配置和使用示例

    **JDBC数据源连接池配置与使用详解** 在Java Web应用中,数据库连接的管理是至关重要的。为了提高性能和资源利用率,开发人员通常会使用数据源连接池。本篇文章将详细讲解JDBC数据源连接池的配置和使用,以帮助你更...

    logstash-jdbc-input 同步数据到es的多任务配置

    总结来说,"logstash-jdbc-input同步数据到es的多任务配置"涉及到Logstash的输入、过滤和输出插件的使用,尤其是`jdbc-input`插件与MySQL的交互,以及如何设置多任务以实现不同数据源的同步。这个过程通常用于实时...

    2022年在Servlet中使用JDBC访问数据库.pptx

    "Java Servlet 中使用 JDBC 访问数据库" Java Servlet 是一种服务器端的 Java 应用程序,用于处理 HTTP 请求和响应,而 JDBC(Java Database Connectivity)是 Java 语言中用来访问数据库的 API。现在,在 Servlet ...

    利用JDBC读取mysql数据展示在listview

    在本教程中,我们将深入探讨如何使用Java的JDBC(Java Database Connectivity)接口来从MySQL数据库中读取数据,并将这些数据动态地显示在Android应用的ListView组件上,同时利用SimpleAdapter进行数据绑定。...

    sap JDBC数据源配置

    总之,配置 SAP NetWeaver 和 Composite Environment 上的 JDBC 数据源是一个涉及多个步骤的过程,包括安装驱动程序、使用 Visual Administrator 或 Console Administrator 进行配置、设置必要的连接属性等。...

Global site tag (gtag.js) - Google Analytics