LobHandler 的配置
MYSQL下的
<bean id="lobHandler"
class="org.springframework.jdbc.support.lob.DefaultLobHandler"
lazy-init="true">
</bean>
Oracle下的lobHandler配置
<bean id="lobHandler"
class="org.springframework.jdbc.support.lob.OracleLobHandler"
lazy-init="true" >
<property name="nativeJdbcExtractor" ref="nativeJdbcExtractor"/>
</bean>
<bean id="nativeJdbcExtractor"
class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor"
lazy-init="true" />
将 LobHandler 注入到 SessionFactory 中
…
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler"
lazy-init="true" />
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="lobHandler" ref="lobHandler" /> ① 设置 LOB 处理器
…
</bean>
使用 LobHandler 操作 LOB 数据时,需要在事务环境下才能工作,所以必须事先配置事务管理器,否则会抛出异常。
事务的配置
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- 定义事务拦截器bean -->
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="autoProxyCreator"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<value>*DAO</value>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
<property name="proxyTargetClass">
<value>true</value>
</property>
</bean>
*.hbm文件配置
<property name="content" type="org.springframework.orm.hibernate3.support.ClobStringType">
<column name="content"/>
</property>
在使用的时候直接当String类型使用。
更为详细的配置说明:http://www.ibm.com/developerworks/cn/java/j-lo-spring-lob/index.html
分享到:
相关推荐
总结起来,本文通过一个简单的Spring案例展示了如何操作LOB字段,包括创建DAO方法,使用`JdbcTemplate`进行数据库操作,以及在Web应用中处理文件上传。同时,我们也了解了如何配置Spring的`JdbcTemplate`和数据库...
如果LOB数据大小超过指定的上限值或者数据行空间不足,则LOB数据行中将只存放指针。 在存储LOB数据的方法上,文档中提到了两种主要策略。一种是建立具有Image字段的SQL Server数据库关系表,并使用sp_tableoption...
在本文中,我们将深入探讨如何在Java环境下,利用Spring和Hibernate框架处理Oracle数据库中的LOB(Large Object)字段。LOB字段通常用于存储大体积的数据,如文本、图片或视频。在实际开发中,处理这类数据时可能会...
通过spring存blob和clob数据到sybase数据库中,压缩包里包含了三种方式,(1)spring+hibernate,切面事务(aop),存lob数据,(2)spring+hibernate存lob数据,(3)spring+jdbc存lob数据。
在Oracle数据库中,LOB数据类型的存储和优化是非常重要的,因为LOB数据类型占用的存储空间较大,且其读写操作也较慢。 在创建包含LOB字段的表时,Oracle将同时创建两个段来容纳指定的列,这两个段分别为LOBINDEX和...
在DB2中,LOB数据类型的创建和维护比传统的RDBMS对象要复杂得多。创建LOB数据对象时,DBA需要特别注意记录大小必须小于等于DB2表中定义的页面大小。页面大小包括了控制信息,比如页面头(20字节)、行头(6字节)...
总之,`DBMS_LOB`是Oracle数据库管理LOB数据的关键工具,对于处理大量非结构化数据的开发者来说,理解和熟练使用这个包是必不可少的技能。通过深入学习和实践,可以有效地利用Oracle的LOB功能满足大数据存储和处理的...
7. **避免不必要的数据复制**:当需要对 LOB 数据进行操作时,尽量避免不必要的数据复制过程,例如通过使用 `KEEP` 或 `BASICFILE` 子类型来减少数据移动。 8. **使用 Direct Path 插入**:在插入大量 LOB 数据时,...
插入LOB数据通常涉及多次数据库操作,因为数据被分块读写。例如: ```sql INSERT INTO mylobs VALUES (1, EMPTY_BLOB(), EMPTY_CLOB()); DECLARE lob_loc BLOB; BEGIN SELECT blob_data INTO lob_loc FROM ...
在数据库操作中,LOB字段的处理往往比常规的行数据更为复杂,因为它涉及到大块的数据读取、写入和管理。"Oracle LOB字段处理工具"就是为了简化这些操作而设计的软件。 这款工具主要针对Oracle数据库中的BLOB...
可以在插入行时设置persistent LOB 到 NULL,例如在没有 LOB 数据时。如果想使用 OCI 或 DBMS_LOB 函数,需要将 LOB 列设置为非 NULL 或 empty。 二、LOB 的存储 LOB 可以存储在表中,也可以作为对象类型的属性。 ...
以上代码首先通过查询获取了目标行的`document`字段的LOB定位器,然后准备了要写入的文本数据,并通过`DBMS_LOB.WRITE()`过程将文本写入CLOB字段。 #### 结论 本文详细介绍了在Oracle数据库中如何使用和维护LOB...
Lob库为前端开发者提供了一层友好的封装,使得调用LOB API变得更加简单。它通过JavaScript对象和方法,将复杂的HTTP请求和JSON格式化隐藏在底层,让开发者能够专注于业务逻辑,而不是处理低级别的网络通信。例如,你...
JYTHON允许用户利用Python的灵活性和强大功能进行复杂的数据处理,例如处理LOB数据的格式化、压缩或者解压缩等操作。这个KM对于那些需要对LOB数据进行特定处理或清洗的场景非常有用。 在实际应用中,这两个KM可以...
测试oracle数据库中,lob字段在不同参数条件下,删除数据后占用空间的情况。 测试1 测试disable storage in row下的lob字段 测试2 测试非disable storage in row模式下 该模式为默认模式,既小于4k的数据不会存在lob...
Oracle的LOB解决方案进一步完善了其数据库管理系统,使得存储和访问大非结构化数据变得更加便捷和统一。 总的来说,这篇文章深入浅出地讲解了Oracle数据库如何使用LOB类型存储非结构化数据,以及如何通过JDBC接口...
`OCI_LOB`样例程序是针对LOB数据类型在OCI中的操作提供的一系列示例代码,旨在帮助开发者理解如何在Oracle数据库中创建、读取、更新和删除LOB对象。下面将详细介绍这些知识点。 1. OCI LOB基础概念: - BLOB:二...
在Oracle数据库中,当需要存储超过VARCHAR2类型最大限制(4000个字符或2000个汉字)的数据时,可以使用LOB(Large Object)类型,包括BLOB(Binary Large OBject)、CLOB(Character Large OBject)以及BFILE。...