`

用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数据访问技术.doc

    jdbc 数据访问技术 jdbc(Java Database Connectivity)是一种Java API,用于连接数据库,执行SQL语句,处理结果集,并在Java程序中提供数据库访问功能。jdbc技术是Java开发者访问数据库的基础。 jdbc核心类及其...

    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