原来用的oracle 的vachar2 4000字节,感觉应该不小了,没想到没写几个字就完了,没办法,只有用oracle 的Clob了,可是怎么做了,上网查了好多,总结一下。。。
借用一下:
一、问题需求:
1.在持久化类中字段该用什么类型?
2.在Struts中文件对应的数据类型是什么?
3.在Hibernate
中字段对应的类型是什么?
4.如何在Spring
中处理这些文件?
二、解决:
如果你用的是oracle 8 那就不用看了,因为下面的方法,好像行不通,你只能再接再励另找方法了!
我的环境 oracle 10g 1.0.1,spring 1.2 ,hibernate 3.
1.持久类映射字段的类型:
1.1 Blob 用byte[];
1.2 Clob 用String;
2.Spring 配置文件:
<!-- Oracle 9i 以上,oracle 10g 10.1.0.1以下 -->
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor" lazy-init="true"/>
<!-- spring 的操作句柄 -->
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
<property name="nativeJdbcExtractor">
<ref local="nativeJdbcExtractor"/>
</property>
</bean>
2.1 往sessionFactory 中注入
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
<!--把oracleLobHandler加入sessionFactory中 -->
<property name="lobHandler" ref="lobHandler"/>
</bean>
3. hibernate 配置
<property name="content1" column="CONTENT1"
type="org.springframework.orm.hibernate3.support.ClobStringType" length="10000"/>
注意:length 是字节
4.大功就快造成了。就差这么一步
private String content1;
public String getContent1() {
return content1;
}
public void setContent1(String content1) {
this.content1 = content1;
}
就这样直接用吧,spring 把过程都写了,我们就透明着使用吧
PS:关于网上说的 oracle 10g 1.0.2.0以上版本可用ojdbc14.jar 保留意见!
分享到:
相关推荐
### Spring与Hibernate处理大字段(CLOB/BLOB) 在企业级应用开发中,经常会遇到需要存储大量文本或二进制数据的情况,这时就需要用到数据库的大字段类型如CLOB(Character Large Object)和BLOB(Binary Large ...
一个完整的工程,主要功能为:spring+hbernate对clob、blob字段的处理 包括:数据脚本、典型的SSH框架处理,以及spring、hibernate数据批量保存等功能源码、所用到的lib包 数据环境为:oracle 10G 开发:Mycelipse5.1...
Spring和Hibernate会自动处理CLOB的存取,无需额外的特殊处理。例如,如果你有一个更新方法,可以如下所示: ```java public void updateEntity(Entity entity) { assessRegDao.update(entity); } ``` 其中...
总之,处理Oracle数据库中的LOB字段需要对Spring、Hibernate以及Oracle JDBC驱动有深入理解。通过合理配置和使用相应的API,我们可以有效地管理大体积数据,实现与数据库的高效交互。在实际项目中,根据具体需求和...
同时,Spring还提供了对其他框架(如Hibernate)的集成,使得开发者能更方便地使用这些框架。 3. Hibernate:Hibernate是一个对象关系映射(ORM)框架,它允许开发者使用Java对象来操作数据库,而无需直接编写SQL...
这个压缩包文件"spring1.2+hibernate3对大字段的处理实例"提供了一个具体的案例,演示了如何在Spring 1.2和Hibernate 3框架下解决这个问题。下面我们将深入探讨这些知识点。 首先,Spring 1.2是一个轻量级的Java...
在IT领域,尤其是在Java开发中,Spring和Hibernate是两个非常重要的框架。...这个"spring1.2+hibernate2对大字段的处理实例"就是一个很好的学习资源,能够帮助开发者深入理解如何在旧版框架下处理这类问题。
<property name="photo" type="org.springframework.orm.hibernate3.support.BlobByteArrayType"> </hibernate-mapping> ``` 接下来,我们关注上传过程的Java代码。这里使用了`ServletFileUpload`类,它是...
通过spring存blob和clob数据到sybase数据库中,压缩包里包含了三种方式,(1)spring+hibernate,切面事务(aop),存lob数据,(2)spring+hibernate存lob数据,(3)spring+jdbc存lob数据。
确保 Hibernate 的配置文件(通常为 `hibernate.cfg.xml` 或者 Spring 的配置文件)正确配置了数据库连接信息,以及支持 CLOB 类型的配置。 **2.2 实体类设计** 假设我们有一个用户实体类 `User`,其中包含一个 ...
文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...
Spring 3是其较早的一个版本,但仍然广泛使用,提供了依赖注入(DI)、面向切面编程(AOP)以及对其他框架如MyBatis、Hibernate的整合支持。 **Spring MVC** Spring MVC是Spring框架的一部分,专为构建Web应用程序...
Java 中处理 Clob 和 Blob 类型的注解配置 Java 中处理 Clob 和 Blob 类型的注解配置是一种常见的处理大规模数据的方法。Clob(Character Large OBject)类型和 Blob(Binary Large OBject)类型是数据库中两种常用...
Spring还提供了对数据库访问的支持,包括JDBC抽象层和集成ORM框架,如Hibernate。 **SpringMVC**:Spring MVC是Spring框架的一部分,用于构建Web应用程序。它采用模型-视图-控制器(Model-View-Controller,MVC)...
- 在Spring或`hibernate.cfg.xml`配置文件中,可以使用宏定义或者条件注解来根据数据库类型加载不同的映射文件。这样,不同的数据库环境只需配置相应的连接参数,而无需修改核心的配置文件。 4. **大字段处理** -...
这通常用于存储图片或大文件,Hibernate用`byte[]`或`org.springframework.web.multipart.MultipartFile`来处理。 7. **CLOB(字符大对象)**:用于存储大量文本数据,如XML文档,对应的Java类型是`java.sql.Clob`...
Spring可以帮助管理数据库连接和事务,而Hibernate则提供了方便的对象关系映射,使得处理LOB如同操作普通Java对象一样简单。 总的来说,JDBC4为Blob和Clob的处理提供了许多改进,使得在Java应用程序中处理大数据...
上传文件示例关于如何使用 Spring Boot、Hibernate + JPA 注释设计 REST API 的示例项目。 截至目前,已提供表单数据/多部分端点以创建和获取包含 UUID 主键和 CLOB 属性的“模板”。 使用 H2 作为嵌入式数据库。
Hibernate4相较于之前的版本,优化了查询性能,支持了更多的JPA标准,并引入了二进制大型对象(Blob/Clob)的处理。 “sshtest”可能是一个整合了SSH三个框架的示例项目,用于演示如何在实际开发中将它们集成在一起...
1.6 Spring对Java版本的要求 1.7 如何获取Spring 1.8 小结 第2章 快速入门 2.1 实例功能概述 2.1.1 比Hello World更适用的实例 2.1.2 实例功能简介 2.2 环境准备 2.2.1 创建库表 2.2.2 建立工程 2.2.3 类包及Spring...