Java读写LOB

原创 2016年08月29日 11:07:12

除数字、字符串、日期,还会存储大对象(图片,其他数据…)。在SQL中,二进制大对象称为BLOB,字符型大对象称为CLOB。
读取LOB,需要执行select语句,然后再ResultSet上调用getBlob或getClob方法,或者BLOB或CLOB对象。
要从Blob中获取二进制,可以调用getByte或getInutStream。
如果获取了Clob对象,那么久可以通过调用getSubString或getCharacterStream方法来获取其中的字符数据。
如果要将LOB置于数据库中,需要在Connection对象上调用createBlob或createClob,然后获取一个用于该LOB的输出流或写入流,写出数据,并将该对象存储到数据库中。

代码示例:

//从表中获取一张图像
PreparedStatement stat = conn.prepareStatement(“select Cover from boookcovers where ISBN = ?”);
Stat.set(1, isbn);
ResultSet result = stat.executeQuery();
If (result.next()) {
    Blob coverBlob = result.getBlob(1);
Image coverImage = ImageIO.read(coverBlob, getBinaryStream());
}

//存储一张图片
Blob coverBlob = connection.createBlob();
Int offset = 0;
OutputStream out = coverBlob.setBinaryStream(offset); //读取文件
imageIO.write(coverImage, “PGN”, out);
PreparedStatement stat = conn.prepareStatement(“insert into Cover valus(?, ?)”);
Stat.set(1, isbn);
Stat.set(2, coverBlob);
Stat.executeUpdate();
版权声明:本文为博主原创文章,未经博主允许不得转载。

Java程序中使用oracle数据库LOB字段的总结

 LOB中我们用的比较多的主要有两种CLOB和BLOB,我们对两种类型分别讨论1.CLOB是字符型LOB,主要存储文本信息,最长为4G.,在J2EE程序中,比如网页的textarea中的字符信息比较长...

JAVA处理Blob大对象

 Blob对象是SQL Blob的Java语言映射。SQL Blob是一个内置类型,它可以将一个二进制大对象保存在数据库中。接口ResultSet、CallableStatement和Prepared...

Spring 让 LOB 数据操作变得简单易行

转载自  Spring 让 LOB 数据操作变得简单易行 Spring 让 LOB 数据操作变得简单易行 本文讲解了在 Spring 中处理 LOB 数据的原理和方法,对于 Spr...

使用JAVA读取ORACLE BLOB字段实现上传下载

主题:使用JAVA读取ORACLE BLOB字段实现上传下载作者:蔡毅(caiyi0903@hotmail.com)时间:2005-6-22一 BLOB概述大对象类型BLOB全称为Binary Lar...

hibernate blob和clob注解@Lob

@Lob注解表示属性将被持久化为Blob或者Clob类型, 具体取决于属性的类型, java.sql.Clob, Character[], char[] 和 java.lang.String这些类型的...

jdbc读写lob(blob+clob)

1.说明            数据库在存储大对象时,一般采用lob。二进制大对象称为blob,字符型大对象称为clob。 2.出库             从数据库中获取clob采用的方法是r...

LOB(4)— 读写

1. 写入当获取到一个可用的 LOB 指针后,就可以通过该指针写入 LOB 数据了。有两种写入数据的系统函数:* DBMS_LOB.WRITE :将数据随机地写入 LOB 中。* DBMS_LOB.W...

java存lob数据到sybase数据库

  • 2008年08月21日 16:41
  • 85KB
  • 下载

java oracle setblob lob字段的问题

oracle jdbc setblob 增删改查
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java读写LOB
举报原因:
原因补充:

(最多只允许输入30个字)