2008-03-22
spring+hibernate保存blob字段
首先在spring的配置文件中加入以下代码:
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true">
并且将lobHandler加入到SessionFactory中去,即在
<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" >
...
中加入<property name="lobHandler" ref="lobHandler"></property>
...
</bean>关联起来,到这里spring里的配置已经完成.
第二步在生成xxx.hbm.xml文件后,对数据库里是blob类型的node,将其的type值改为"org.springframework.orm.hibernate3.support.BlobByteArrayType".(如果是CLOB的话则改为org.springframework.orm.hibernate3.support.ClobStringType
)再将xxx.java里相对应的属性类型改为byte[](如果是clob的话就改为String),重新生成set,get方法.
在java代码中只需要像平时那样就可以保存数据了.即getHibernateTemplate().save(bean);bean为Vo.
applicationContext.xml:
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true" />
xxx.hbm.xml
<property name="content" type="org.springframework.orm.hibernate3.support.BlobByteArrayType">
<column name="content" />
</property>
Vo
private byte[] content;
public void setContent(byte[] content) {
this.content = content;
}
public byte[] getContent() {
return content;
}
public String getContentString(){
if(content.length > 0)
return new String(content);
else
return "";
}
评论
kevlin
2008-05-16
getContentString()这个方法不行啊 ,不信你自己试试!
tcrct
2008-05-06
在javabean里不是有一个getContentString()的方法吗?用这个就可以取你的中文字了.
kevlin
2008-05-04
好多都是想文件,跟图片的处理啊。可是我的是是超过10000个字的中文啊。那要是处理。。
tcrct
2008-04-30
保存到数据库里的是二进制数据,就按二进制的方法把数据取出来不就可以了吗?上网搜一下吧,会有很多的
kevlin
2008-04-28
你好我想问你spring+hibernate保存blob字段可以插入数据库,可是怎么取出数据呢?
发表评论
- 浏览: 3764 次
- 性别:

- 来自: 被遗忘的角落...

- 详细资料
搜索本博客
最新评论
-
改变Eclipse及NetBeans的 ...
一起努力吧!
-- by tcrct -
改变Eclipse及NetBeans的 ...
老唐,加油!
-- by 深秋小雨 -
spring+hibernate保存blob ...
getContentString()这个方法不行啊 ,不信你自己试试!
-- by kevlin -
spring+hibernate保存blob ...
在javabean里不是有一个getContentString()的方法吗?用这 ...
-- by tcrct -
spring+hibernate保存blob ...
好多都是想文件,跟图片的处理啊。可是我的是是超过10000个字的中文啊。那要是处 ...
-- by kevlin






评论排行榜