- 浏览: 158121 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
beee:
不错,顶啊
删除项目中的所有.svn文件夹(或CVS文件夹) -
Ts_Coo:
java socket编程入门 -
Jiangnan-Xia:
大哥果然相当凑活
删除项目中的所有.svn文件夹(或CVS文件夹) -
yangzhiqi463:
相当凑活
删除项目中的所有.svn文件夹(或CVS文件夹) -
卢水发:
你这东西太给力
删除项目中的所有.svn文件夹(或CVS文件夹)
CREATE TABLE TUSER
(
ID VARCHAR2(32 BYTE) NOT NULL,
NAME VARCHAR2(20 BYTE) NOT NULL,
SEX VARCHAR2(1 BYTE),
AGE NUMBER(3),
ADDRESS VARCHAR2(100 BYTE),
PHONE NUMBER(10),
EMAIL VARCHAR2(255 BYTE),
IMAGE BLOB,
RESUME CLOB
)
public class test2 {
public static void main(String[] args) {
// testWriteLob();
testReadLob();
}
public static void testReadLob() {
Configuration config = new Configuration().configure();
SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.openSession();
String hql = "from ynn.hibernate.model.TUser";
Query query = session.createQuery(hql);
List<TUser> list = query.list();
Iterator<TUser> iter = list.iterator();
while (iter.hasNext()) {
TUser user = (TUser) iter.next();
try {
InputStream is = user.getImage().getBinaryStream();
OutputStream os = new FileOutputStream("a.jpg");
// 通过is.availabel()得不到总长度
byte[] buf = new byte[1024];
int i = 0;
while((i=is.read(buf))!=-1){
os.write(buf,0,i);
}
// 以下读Clob
is = user.getResume().getAsciiStream();
while((i=is.read(buf))!=-1){
System.out.println(new String(buf,0,i));
}
is.close();
os.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
session.close();
}
// Clob ,Blob在SQLSERVER下的读写操作 P138
// Oracle的Clob, Blob都有自己的游标
public static void testWriteLob() {
Configuration config = new Configuration().configure();
SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.openSession();
TUser user = new TUser();
user.setAge(new Long(20));
user.setName("Shark");
user.setImage(Hibernate.createBlob(new byte[1]));
user.setResume(Hibernate.createClob(" "));
Transaction tx = session.beginTransaction();
session.save(user);
// flush() 强制Hibernate立即执行insert sql
session.flush();
// 通过refresh(), 强制Hibernate执行select for update
session.refresh(user, LockMode.UPGRADE);
System.out.println(user.getImage().getClass());
/* 向Blob写入实际内容 */
// 返回的是SerializableBlob类型的对象,这是个实现了Blob接口的对象,但
// 不能直接转型为BLOB
SerializableBlob sb = (SerializableBlob) user.getImage();
// 需要调用它的getWrappedBlob来转型
BLOB blob = (BLOB) sb.getWrappedBlob();
try {
// 将某个问件读入后,写到Blob字段的输出流中
OutputStream out = blob.getBinaryOutputStream();
FileInputStream imgis = new FileInputStream("C:\\kb3.jpg");
byte[] buf = new byte[102400]; // 10k缓存
int len;
while ((len = imgis.read(buf)) > 0) {
out.write(buf, 0, len);
}
imgis.close();
out.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 向Clob写入实际内容
SerializableClob sc = (SerializableClob) user.getResume();
CLOB clob = (CLOB) sc.getWrappedClob();
java.io.Writer writer;
try {
writer = clob.getCharacterOutputStream();
writer.write("this is my resume");
writer.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// save
session.save(user);
tx.commit();
session.close();
}
转载自:http://huazhouji.iteye.com
发表评论
-
java keytool证书工具使用小结
2013-12-24 10:05 797Keytool 是一个Java数据证 ... -
Jboss6.0修改端口及windows平台下的安装
2013-12-12 20:04 842jboss下载地址: http://www.jboss.or ... -
java 获取文件的方式
2010-09-29 10:51 916首先,Java中的getResourceAsStream有 ... -
log4j 输出格式详解
2010-09-28 13:34 1978Log4j建议只使用四个级别,优先级从高到低分别是ERRO ... -
Hibernate的generator属性的意义
2010-09-26 11:06 876本文讲述Hibernate的generator属性的意义。 ... -
Duplicate class/entity mapping错
2010-09-26 10:05 1201是因为hibernate-mapping中没有定义pac ... -
Java字符编码相关
2010-05-20 11:11 5437JVM启动后,JVM会设置一些系统属性以表明JV ... -
svn管理分支(转)
2010-04-21 17:45 1710转自(http://jasonchi.iteye.com/bl ... -
SVN trunk, branches and tag
2010-04-21 17:25 1730翻译者:zwws原 文: SVN trunk, branc ... -
JAXB for simple Java-XML serialization
2010-01-12 13:55 1833There're a number of way to do ... -
java导入导出excel操作(jxl)
2009-08-26 11:22 1188jxl.jar 包 下载地址: http://w ... -
Log4j配置文件
2009-08-04 15:11 1810b.log4j.properties ,为log4 ... -
Xpath表达式
2009-06-11 16:32 1596XPath 数据类型 XPath 可分为四种数据 ... -
Cron 表达式
2009-06-05 17:16 929Field Name ... -
java 定时任务
2009-06-05 16:42 1316用 Quartz 进行作业调度 ... -
程序形成死锁的四个条件
2009-05-12 15:02 857死锁的条件 互斥条件(Mutual exclusion):资源 ... -
介绍一个调试监测TCP链接的好工具
2009-02-26 10:31 2029最近在写WebService程序和Socket编程,将一个不错 ... -
java虚拟机垃圾回收机制
2009-01-05 12:00 2697一、相关概念 基本回收算法 引用计数(Reference C ... -
java application中内嵌ActiveX控件
2009-01-05 09:53 3395我这里用的是SWT/JFace开发applicati ... -
用脚本运行java GUI程序
2009-01-05 09:50 1866做了一段时间的java GUI编程,现在把一些心得写出来大家共 ...
相关推荐
使用JDBC和Hibernate来写入Blob型数据到Oracle中;使用JDBC和Hibernate来写入Blob型数据到Oracle中
C# oracle blob类型 读入与保存
Oracle blob字段上传下载 Oracle blob字段上传下载Oracle blob字段上传下载 Oracle blob字段上传下载
用hibernate和jdbc读存blob或clob
很多朋友在操作oracle数据库的clob,blob字段时不知道怎么插入和使用,这里提供读写范例。
JDBC+Hibernate将Blob数据写入Oracle
批量导出oracle bolb图片到本地文件
Struts2 Hibernate存取Oracle数据库中的BLOB数据.pdf
oracle Blob转换Clob
C#访问oracle数据库类 1、执行非查询命令 2、执行查询命令 3、带blob字段读写
oracle中用来存储大数据的BLOB(图片,文本,文件等)的 读写与复制方法
oracle Blob Clob 大数处理 代码 文件上传 下载
Hibernate读取blob字段
oracle blob 類型使用,及性能問題
基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案.pdf
jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc ...
使用Hibernate映射Blob,Clob字段,并对这些字段完成存,取功能
从oracle中的BLOB类型字段中取出照片,转存到mysql数据库中。思路是现将oracle中的照片存储在本地文件夹,在将本地图片上传到mysql中。
delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段...