深蓝色心情
过来聊聊~~~~
BlogJava
::
首页
::
联系
::
聚合
::
管理
31 Posts :: 0 Stories :: 46 Comments :: 0 Trackbacks
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(7)
给我留言
查看公开留言
查看私人留言
我参与的团队
随笔分类
Java(20)
商业新闻(2)
游戏
软件安装入门(3)
非技术收藏
随笔档案
2012年7月 (1)
2012年2月 (1)
2012年1月 (1)
2011年12月 (1)
2011年11月 (2)
2011年8月 (2)
2011年7月 (2)
2011年5月 (1)
2011年3月 (1)
2011年2月 (1)
2011年1月 (1)
2010年12月 (1)
2010年10月 (3)
2010年6月 (2)
2010年5月 (3)
2010年4月 (2)
2006年2月 (1)
2006年1月 (2)
2005年12月 (1)
2005年11月 (2)
搜索
最新评论
1. re: show下我做的消息提醒的chrome插件,免费使用,呵呵(有效果图)
很好很有趣
顶!
--iLinux
2. re: 对于12306,我的完整技术方案
最近这方面的讨论好多啊。
--何杨
3. re: chrome扩展程序“超级提醒”,源代码开放!
支持开源啊
--Dahai
4. re: show下我做的消息提醒的chrome插件,免费使用,呵呵(有效果图)
评论内容较长,点击标题查看
--深蓝色心情
5. re: guzz 1.3.0大版本发布,支持Spring事务
不错啊
--tb
阅读排行榜
1. show下我做的消息提醒的chrome插件,免费使用,呵呵(有效果图)(8734)
2. 数据库分切设计何必纠结于hibernate shard模式,应该简单化了(4205)
3. 3行代码,实现IP到地理位置的反查功能(3414)
4. guzz使用效果和经验技巧分享(3398)
5. 改进架构,实现动态数据源,降低java维护(2955)
评论排行榜
1. 3行代码,实现IP到地理位置的反查功能(9)
2. show下我做的消息提醒的chrome插件,免费使用,呵呵(有效果图)(7)
3. guzz1.2.9更新发布,支持选举服务(6)
4. 改进架构,实现动态数据源,降低java维护(5)
5. 数据库分切设计何必纠结于hibernate shard模式,应该简单化了(5)
spring+hibernate+oracle9i用clob
数据库驱动更新为classes12-9i.jar
修改hibernate的配置如下
代码
<
bean
id
="nativeJdbcExtractor"
class
="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor"
/>
<
bean
id
="oracleLobHandle"
class
="org.springframework.jdbc.support.lob.OracleLobHandler"
Lazy-init
="true"
>
<
property
name
="nativeJdbcExtractor"
>
<
ref
local
="nativejdbcExtractor"
/>
</
property
>
</
bean
>
在有clob类型sessionFactory(org.springframework.com
.hibernate.LocalSessionFractory
Bean)中加入
<property name="lobHandler"><ref bean="oracleLobHandle"/><
/property>
在需要clob的JavaBean对应的hbm.xml中,改对应的clob类型的字段
代码
<
property
name
="
"
type
="org.springframework.orm.hibernate.support.ClobStringType"
clumn
="
"
length
="XXXXXX" <!--
定义clob字段大小(以字节为单位,最大2GB)-->
>
JavaBean的对应的属性类型为String
------------------------------------------------------------------------------
----
hibernate3 使用blob 和 clob 演例代码-----
hibernate3 使用blob 和 clob 演例代码:
1
import
java.io.File;
2
import
java.io.FileInputStream;
3
import
java.io.OutputStream;
4
import
java.io.Writer;
5
import
java.sql.Clob;
6
import
oracle.sql.CLOB;
7
import
org.hibernate.LockMode;
8
import
org.hibernate.Transaction;
9
import
org.hibernate.Session;
10
import
org.hibernate.Hibernate;
11
import
org.hibernate.lob.SerializableBlob;
12
import
org.hibernate.lob.SerializableClob;
13
14
15
public
class
test1
{
16
17
/** */
/**
18
*
@param
args
19
*/
20
static
Session session
=
HibernateSessionFactory.currentSession();
21
22
public
boolean
inserted(TStu obj)
{
23
24
Transaction tran
=
session.beginTransaction();
25
session.save(obj);
26
session.flush();
27
session.refresh(obj,LockMode.UPGRADE);
28
try
29
{
30
SerializableBlob sb
=
(SerializableBlob)obj.getImg();
31
java.sql.Blob wrapblob
=
sb.getWrappedBlob();
32
if
(wrapblob
instanceof
oracle.sql.BLOB)
{
33
oracle.sql.BLOB blob
=
(oracle.sql.BLOB) wrapblob;
34
OutputStream bout
=
blob.getBinaryOutputStream();
35
FileInputStream fin
=
new
FileInputStream(
"
d:\\a.jpg
"
);
//
修改你要存入的图片
36
byte
[] buf
=
new
byte
[
10240
];
//
做为10K的缓存写入
37
int
len;
38
while
((len
=
fin.read(buf))
>
0
)
{
39
bout.write(buf,
0
,len);
40
}
41
bout.close();
42
fin.close();
43
}
44
45
SerializableClob sc
=
(SerializableClob)obj.getResu();
46
Clob wrapclob
=
sc.getWrappedClob();
47
if
(wrapclob
instanceof
CLOB)
{
48
CLOB clob
=
(CLOB)wrapclob;
49
Writer cout
=
clob.getCharacterOutputStream();
50
File file
=
new
File(
"
C:\\log_2005_8.txt
"
);
//
修改你要存如的文本
51
FileInputStream fin
=
new
FileInputStream(file);
52
int
read;
53
while
((read
=
fin.read())
!=
-
1
)
{
54
cout.write(read);
55
}
56
fin.close();
57
cout.close();
58
}
59
60
tran.commit();
61
return
true
;
62
}
catch
(Exception ex)
{
63
ex.printStackTrace();
64
tran.rollback();
65
return
false
;
66
}
67
}
68
69
public
static
void
main(String[] args)
{
70
//
TODO Auto-generated method stub
71
test1 t
=
new
test1();
72
TStu stu
=
new
TStu();
73
stu.setAge(
new
Integer(
"
23
"
));
74
stu.setName(
"
lilei
"
);
75
stu.setImg(Hibernate.createBlob(
new
byte
[
1
]));
76
stu.setResu(Hibernate.createClob(
"
"
));
77
t.inserted(stu);
78
}
79
}
80
81
org link:
http://www.matrix.org.cn
/thread.shtml?topicId=27138
&forumId=23
posted on 2005-11-18 10:42
深蓝色心情
阅读(2538)
评论(2)
编辑
收藏
所属分类:
Java
Feedback
#
re: spring+hibernate+oracle9i用clob
2006-07-08 13:02
jjs
SerializableClob sc = (SerializableClob)obj.getResu();
这一句提示,不能哆强行转化,这是怎么回事 resu为string,
回复
更多评论
#
re: spring+hibernate+oracle9i用clob
2006-07-08 13:04
jjs
像得用这种方式插入clob是否要直接跟操作String 一样的,这个我试了一下,报错,但网上有人说在这种配置下,可以直接操作clob
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
万众期待的guzz新版终于发布啦!各种期待的功能噢~~
chrome扩展程序“超级提醒”,源代码开放!
guzz1.2.9多数据库框架更新发布
通用操作日志系统设计。一次编写,所有项目共同使用!
guzz1.2.9更新发布,支持选举服务
halo-cloud开源私有云平台 新增调度任务和邮件发送服务
大型系统设计第1课--可扩展的数据库层架构设计 PDF分享
数据库分布式设计很简单--guzz分布式切表功能正式发布
服务发布:GuzzServices支持PHP客户端
guzz1.2.9 build20101021发布,新增两项原创功能
Copyright @ 深蓝色心情
Powered by:
.Text
and
ASP.NET
Theme by:
.NET Monster