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

数据库clob、 blob数据型进行操作与spring的NativeJdbcExtractor

 
阅读更多
有时候必要会对数据库clob、 blob数据型进行操作,再加上spring 环境不得不要启用NativeJdbcExtractor 来帮助完成相关工作。

spring 官方文档中注明:

Sometimes you need to access vendor specific JDBC methods that differ from the standard JDBC API. This can be problematic if you are running in an application server or with a DataSource that wraps the ConnectionStatement and ResultSet objects with its own wrapper objects. To gain access to the native objects you can configure yourJdbcTemplate or OracleLobHandler with a NativeJdbcExtractor.

翻译:

有时候,你需要访问特定于供应商的JDBC方法不同于标准JDBC API。这可能会出现问题,如果你正在运行一个应用程序服务器或一个DataSource包装的连接,Statement和ResultSet对象与自己的包装对象。要获得本地对象,你可以配置你JdbcTemplate或OracleLobHandler的一个NativeJdbcExtractor。

The NativeJdbcExtractor comes in a variety of flavors to match your execution environment:

  • SimpleNativeJdbcExtractor

  • C3P0NativeJdbcExtractor

  • CommonsDbcpNativeJdbcExtractor

  • JBossNativeJdbcExtractor

  • WebLogicNativeJdbcExtractor

  • WebSphereNativeJdbcExtractor

  • XAPoolNativeJdbcExtractor

Usually the SimpleNativeJdbcExtractor is sufficient for unwrapping a Connection object in most environments. See the Javadocs for more details.


spring 配置文件如下:

<!-- nativeJdbcExtractor 和 oracleLobHandler Bean 都设置为 lazy-init="true",这是因为 -->

<!-- nativeJdbcExtractor 需要通过运行期的反射机制获取底层的 JDBC 对象, -->

<!-- 所以需要避免在 Spring 容器启动时就实例化这两个Bean。 -->

<bean id="nativeJdbcExtractor"class="org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor"  lazy-init="true" />

<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">

<property name="nativeJdbcExtractor" ref="nativeJdbcExtractor"></property>

</bean>

<!-- 我的实现类,因为我用的是C3P0 连接池方式,配置的nativejdbcextractor是C3P0 。 -->

<bean id="simpleWriterBlob" class="com.ww.jdbc.writer.blob.SimpleWriterBlob">

<property name="dataSource" ref="dataSource"></property>

<property name="lobHandler" ref="oracleLobHandler"></property>

</bean>

分享到:
评论

相关推荐

    CLOB、BLOB___CLOB与BLOB的区别

    CLOB、BLOB 与 CLOB 与 BLOB 的区别 CLOB(Character Large OBject)是一种数据库类型,用于存储大型字符对象。它是 SQL 类型,用于存储字符大对象(Character Large Object),将字符大对象存储为数据库表某一行中...

    Mybatis 处理 CLOB、BLOB 类型数据

    Mybatis 处理 CLOB、BLOB 类型数据 MyBatis 处理 CLOB、BLOB 类型数据是指在使用 MyBatis 框架时,如何正确地处理大字段类型的数据。CLOB(Character Large OBject)和 BLOB(Binary Large OBject)都是大字段类型...

    如何将DB2数据库中的大对象(BLOB,CLOB)数据类型复制到Oracle数据库中

    在数据库迁移或数据同步的过程中,有时需要将含有大对象(LOB,包括BLOB和CLOB)的数据从一个数据库系统复制到另一个不完全支持LOB的数据库系统。本例中,我们讨论如何将DB2数据库中的BLOB数据类型复制到Oracle...

    利用spring的jdbcTemplate处理blob、clob

    spring 中对大数据的处理,包括clob,blob的数据。比之jdbc下简便很多。

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

    总的来说,Spring通过JDBC提供了一套完善的接口和工具类来处理CLOB和BLOB,使得开发者无需直接与JDBC API打交道,降低了数据库操作的复杂度。在实际项目中,根据业务需求,合理运用这些功能可以极大地提高开发效率和...

    修改clob blob 字段

    修改clob blob 字段 修改clob blob 字段 修改clob blob 字段

    oracle(blob转换为clob)

    在某些情况下,可能需要将BLOB类型的数据转换为CLOB类型,例如,在处理文本数据时,如果数据被错误地存储为BLOB,或者需要将二进制数据中的可读文本部分提取出来进行处理。本文将详细介绍如何使用Oracle内置函数和...

    DELPHI的CLOB和BLOB存取处理.zip_DELPHI的CLOB和BLOB存取处理_hallzgz

    在数据库编程领域,CLOB(Character Large Object)和BLOB(Binary Large Object)是用于存储大量文本和二进制数据的数据类型。在DELPHI中,处理这些大型对象时需要特殊的技术和策略。本篇文章将深入探讨DELPHI中...

    Oracle导出Clob,Blob工具

    Oracle数据库在处理大对象(LOB)类型,如Clob(Character Large Object)和Blob(Binary Large Object)时,有时需要专门的工具来进行高效且安全的数据导出。这些字段通常存储大量的文本或二进制数据,比如长篇文档...

    数据库中clob类型转换的问题 数据库中clob类型转换的问题

    与BLOB(Binary Large Object)不同的是,CLOB主要用于存储字符数据。在不同的数据库系统中,CLOB类型的实现方式可能会有所不同。例如,在Oracle数据库中,CLOB可以存储最大为4GB的数据;而在MySQL中,则是使用`LONG...

    Oracle,Clob,Blob数据存取的Java代码

    在Oracle数据库中,CLOB(Character Large Object)和BLOB(Binary Large Object)是用来存储大量文本数据和二进制数据的特殊数据类型。CLOB用于存储非结构化的文本信息,如XML文档或长篇文章,而BLOB则适用于图像、...

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

    对CLOB和BLOB数据类型的操作是非常重要的,特别是在使用Java数据库连接(JDBC)时。本文将详细介绍JDBC实现对CLOB和BLOB数据类型的操作,包括读取和写入操作。 CLOB数据类型 CLOB数据类型用于存储大型字符数据,如...

    批量导出ORACLE数据库BLOB字段生成图片

    BLOB字段在数据库中以字节流的形式存在,可以进行读写操作。 要实现批量导出BLOB字段生成图片,通常需要以下步骤: 1. **安装Oracle Client**:Oracle Client是与Oracle服务器通信的客户端工具,它提供了与数据库...

    JDBC中操作Blob、Clob等对象

    ### JDBC中操作Blob、Clob等对象 ...通过以上的示例可以看出,操作Blob和Clob数据实际上与处理普通的字符串或整型数据类似,只需要掌握相应的API即可。这对于处理多媒体文件或大量文本数据的应用程序来说是非常有用的。

    Hibernate对Blob,Clob的操作

    在Java Web开发中,...本文将详细介绍如何在Hibernate中操作Blob和Clob字段,实现数据的存储与读取。 首先,我们需要在Hibernate映射文件(.hbm.xml)中定义Blob和Clob字段。对于Blob,可以这样声明: ```xml ...

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

    此外,Clob类型通常用于存储文本数据,例如文章内容,与图片存储无关,但其处理方式与Blob类似,只是涉及到字符流而不是二进制流。在本例中,我们主要讨论了Blob类型,因为它是存储图像数据的关键。

    图片存数据库 clob类型

    CLOB(Character Large Object)是数据库中用于存储大量文本数据的一种数据类型。虽然它主要用于存储文本,但在某些场景下也可以用来存储经过编码后的图片数据。当图片数据量不是特别大时,可以考虑使用CLOB来存储...

    Oracle导出Clob,Blob工具版本2

    Oracle数据库在存储大对象(BLOB和CLOB)时提供了强大的功能,但处理这些类型的数据进行导入导出可能会带来挑战。"Oracle导出Clob,Blob工具版本2" 是一个专为解决这个问题而设计的应用程序,它改进了对CLOB...

    Blob数据下载到本地

    在Oracle中,Blob数据通常与Clob(Character Large Object)一起使用,Clob用于存储大文本数据。 下载Blob数据到本地的过程主要分为以下几个步骤: 1. **连接数据库**:使用JDBC(Java Database Connectivity)...

    BLOB和CLOB的区别以及在ORALCE中的插入和查询操作

    了解BLOB和CLOB的区别以及如何在Oracle中进行插入和查询操作对于数据库开发者和管理员来说至关重要。 首先,我们来看BLOB和CLOB的主要区别: 1. 数据类型:BLOB用于存储二进制大对象,如图片、视频、音频文件或者...

Global site tag (gtag.js) - Google Analytics