spring+hibernate操作Blob字段,解决image字段超过4000个字节hibernate无法提交的问题。
1.pojo类image字段类型为byte[];
2.hbm映射文件image的type="org.springframework.orm.hibernate3.support.BlobByteArrayType"
3.spring配置文件,注意,数据库连接池用的是c3p0:
<!-- spring处理Blob字段 @author ma_chunlin @date 2012-12-6-->
<bean id="lobHandler" lazy-init="true"
class="org.springframework.jdbc.support.lob.OracleLobHandler">
<property name="nativeJdbcExtractor" ref="nativeJdbcExtractor" />
</bean>
<!-- c3p0 的配置 : -->
<bean id="nativeJdbcExtractor" lazy-init="true"
class="org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor" />
如果是用oralce原生jdbc,可有如下选择(网上说的,本人未确认):
<!--oracle9i-->
<bean id="nativeJdbcExtractor" lazy-init="true"class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor"/>
<!--oracle10g-->
<bean id="lobHandler" lazy-init="true" class="org.springframework.jdbc.support.lob.DefaultLobHandler"/>
4. spring sessionFactory的配置:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- Blob字段的特殊处理 -->
<property name="lobHandler" ref="lobHandler" />
<property name="configLocation" value="classpath:hibernate.cfg.xml">
</property>
</bean>
分享到:
相关推荐
在Hibernate的`SessionFactory`配置中,需要指定`lobHandler` Bean来处理CLOB和BLOB字段: ```xml <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> ...
struts+hibernate+spring+blob 三个框架集成了一下,主要包括利用struts的上传附件功能,并把上传的图片存储到oracle的blob字段。并提供显示。 没做过多的限制,还有很多bug别见怪,功能跑得通!
例如,当保存BLOB字段时,可以先将文件内容读入`InputStream`,然后通过Hibernate的`Session`接口进行持久化: ```java InputStream inputStream = new FileInputStream("path/to/file"); session.saveOrUpdate...
Spring和Hibernate框架结合使用可以有效地进行CLOB字段的操作。以下是实现这一功能的关键步骤和注意事项: 1. **配置SessionFactory** 在Spring配置文件中,你需要创建一个`SessionFactory` bean,同时指定一个`...
在Hibernate映射文件中,Blob字段的type设置为org.springframework.orm.hibernate3.support.BlobByteArrayType,以使用Spring提供的自定义类型。 **Hibernate框架**负责数据的持久化。在SSH架构中,Hibernate用于将...
这可能包括将文件保存到服务器的特定目录,或者将其内容保存到数据库的BLOB字段。 5. **文件下载**:下载功能的实现通常涉及生成一个HTTP响应,其中包含文件的内容和适当的MIME类型。Spring MVC可以通过Controller...
在 Spring 中,`OracleLobHandler` 负责处理 Blob 类型的字段,确保与数据库驱动程序解耦,并适应不同数据库的 Lob 处理方式。数据表的 Blob 字段在 Java 对象中声明为 `byte[]` 类型,而在 Hibernate 映射文件中...
`Learner`类包含学员的基本信息,如`learnerId`和`learnerName`,并且有一个`byte[] photo`字段用于存储学员的照片,这是Blob类型的数据。 ```java public class LearnerInfo implements java.io.Serializable { ...
这个压缩包文件"spring1.2+hibernate3对大字段的处理实例"提供了一个具体的案例,演示了如何在Spring 1.2和Hibernate 3框架下解决这个问题。下面我们将深入探讨这些知识点。 首先,Spring 1.2是一个轻量级的Java...
总结起来,"spring mvc+hibernate 图片存储至blob"这个主题涉及到Spring MVC处理文件上传、Hibernate将图片数据存入数据库BLOB字段、以及前后端交互等多个技术点。通过理解这些知识点,开发者可以构建一个完整的图片...
一个完整的工程,主要功能为:spring+hbernate对clob、blob字段的处理 包括:数据脚本、典型的SSH框架处理,以及spring、hibernate数据批量保存等功能源码、所用到的lib包 数据环境为:oracle 10G 开发:Mycelipse5.1...
Hibernate2支持将Java的`java.sql.Blob`和`java.sql.Clob`对象映射到数据库的Blob和Clob字段,这样可以存储大数据而不影响其他字段。 2. **文件系统存储**:大字段数据可以存储在文件系统中,然后在数据库中仅存储...
- Hibernate的配置文件(hibernate.cfg.xml)中,需要指定数据源、映射文件和实体类等信息,确保能够正确连接到数据库并映射Blob字段。 - Spring的配置文件(如applicationContext.xml)中,定义DataSource、...
5. **图片处理**:项目涉及了二进制文件图片的读写操作,这通常涉及到BLOB类型字段的使用。在Hibernate中,可以通过配置实体类和映射文件来处理二进制数据。同时,Web应用程序可能包含JavaScript或Java代码来上传、...
Struts2,Hibernate3,Spring2实现oracle存取blob字段(图片等二进制文件) Myeclipse6.0下开发 哈哈,原来2分的,现在免费了!!!!!!!!!!!!!!!!!!!!!!!!给评分哦!!!!!!!!!!!!!!!!
数据表Blob字段在Hibernate持久化映射文件中的type为org.springframework.orm.hibernate3.support.BlobByteArrayType,即Spring所提供的用户自定义的类型,而非java.sql.Blob。 3在Spring中使用org.springframework...
在Spring框架中,LOB(Large Object)字段通常用于存储大数据,如BLOB(Binary Large Object)用于二进制数据,如图片或文档,CLOB(Character Large Object)用于字符数据,如长文本。本篇文章将深入探讨如何在...