操作BLOB数据。
代码如下:
package com.j2ee14.ch7;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class BlobTest {
Connection conn= null;
public void addBlob(){
try{
PreparedStatement pstmt=conn.prepareStatement("insert into blobtest values(1,?)");
File file=new File("c:\\test.jpg");
FileInputStream fis=new FileInputStream(file);
pstmt.setBinaryStream(1, fis,(int)file.length());
pstmt.executeUpdate();
pstmt.close();
fis.close();
}catch(Exception e){
e.printStackTrace();
}
}
public void createTable(){
try{
conn.createStatement().execute("create table blobtest(id int,pic blob,"+"constraint pk_blobtest primary key(id));");
}catch(Exception e){
e.printStackTrace();
}
}
public void getBlob(){
try{
Statement stmt= conn.createStatement();
ResultSet rst=stmt.executeQuery("select * from blobtest where id=1");
rst.next();
Blob blob=rst.getBlob("pic");
FileOutputStream out = new FileOutputStream(new File("c:/k.jpg"));
InputStream in= blob.getBinaryStream();
int i;
while((i=in.read())!= -1)
out.write(i);
in.close();
out.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args)throws Exception {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
BlobTest test=new BlobTest();
test.conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/j2ee14","root","123456");
test.createTable();
test.addBlob();
test.getBlob();
}
}
执行程序前c盘下需要放置一个test.jpg图片
执行程序,在执行了程序后,数据库中会有一个blobtest的数据库,并且里面有一行数据
同时在c盘下会产生一个k.jpg的图片,该图片和test.jpg相同
- 大小: 60 KB
- 大小: 52.4 KB
分享到:
相关推荐
在 PowerBuilder 中操作 BLOB 数据的技巧 PowerBuilder 提供的 BLOB(Binary Large Object)数据类型可以用来处理大型数据,包括图像、大文本、Word 文档、二进制文件和多媒体等各种数据,它的长度可以是 0~2GB ...
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 ...
操作BLOB数据通常涉及大量的I/O操作,因此需要在事务管理下进行,以确保数据的一致性和完整性。 6. **注意事项** - BLOB数据不宜作为查询条件,因为可能会导致性能问题。 - 对于频繁修改的BLOB字段,要考虑...
5. 读取BLOB数据:读取BLOB数据时,同样使用`ADODB.Stream`对象。假设我们已经获取了包含BLOB数据的记录集,可以这样处理: ```vb Dim blobStream As New ADODB.Stream blobStream.Open blobStream.Write rs(...
### Struts2与Hibernate结合操作BLOB数据 将Struts2与Hibernate结合进行Web应用开发,可以充分利用Struts2在页面数据展示和逻辑控制方面的优势,同时使用Hibernate进行数据持久化。在实际操作中,可以通过Hibernate...
Blob(Binary Large Object)在数据库中用于存储二进制大对象,如图片、音频或视频文件等。...同时,考虑到性能和效率,对于大量Blob数据的操作,可能需要采用更高效的方法,如分批处理或异步处理。
关于在SQL Server数据库系统中存取BLOB数据的探讨 在SQL Server数据库系统中,存取BLOB(Binary Large OBject)数据是一种复杂的问题。BLOB数据是指非结构化的大型二进制数据,例如图片、音频、视频等。这种数据...
Oracle中的Blob类型是一种用于存储大型二进制对象的数据类型,如图像、音频或视频文件等。...通过熟悉`DBMS_LOB`包的使用,可以有效地管理和操作Blob数据。同时,考虑到性能和存储效率,需要适时采用适当优化策略。
本示例主要讲解如何在Oracle数据库中操作Blob类型的数据,包括插入和取出。 首先,我们需要理解Oracle数据库对Blob类型的处理。Blob是Oracle中的一个大对象数据类型,它可以存储最多4GB的二进制数据。Blob数据可以...
4. **BLOB对象句柄**(OCIBlob*):在C++中,这是用来操作BLOB数据的特殊句柄。 在"LOBExample"这个示例中,可能包含以下步骤: 1. **环境初始化**:调用`OCIInitialize`函数初始化环境,设置错误处理和内存分配...
以上就是使用SQL Server的`varbinary(MAX)`字段存储和操作BLOB数据的基本流程。在实际应用中,你可能还需要考虑文件的元数据管理、错误处理、事务控制等高级功能。同时,确保在处理大量数据时优化查询性能,如合理...
BLOB数据的操作通常涉及如何将这些文件存入数据库以及如何从数据库中检索和展示它们。在第16章中,主要探讨了两种处理BLOB数据的方式:文件方式和字段方式。 1. **文件方式**: - 在文件方式中,BLOB数据不直接...
C# 中的 BLOB(Binary Large OBject)读取操作是指从数据库中读取二进制数据的过程。BLOB 是一种二进制数据类型,用于存储大规模的二进制数据,如图片、音频、视频等。在 C# 中,我们可以使用 FileStream 对象来读取...
本例中,我们讨论如何将DB2数据库中的BLOB数据类型复制到Oracle数据库。 1. **BLOB与CLOB数据类型**: BLOB(Binary Large Object)存储二进制大对象,如图像、音频或视频文件。CLOB(Character Large Object)...
本实例将详细介绍如何在MySQL数据库中插入Blob数据,并提供源码示例。 1. **Blob类型介绍** MySQL中的Blob类型有四种变体:TinyBlob、Blob、MediumBlob和LongBlob,分别对应不同的存储大小限制。TinyBlob最多存储...
在本文中,我们将探讨如何使用ActiveX Data Objects(ADO)在C++环境中进行BLOB数据的读取和写入。 **什么是ADO?** ADO是Microsoft提供的一种用于访问数据源的接口,它提供了对ODBC(Open Database Connectivity)...
### Java中SQLite数据库BLOB数据类型的存取 #### 背景与问题描述 在Java中操作SQLite数据库时,BLOB(Binary Large Object)类型的数据处理是较为常见的需求之一,尤其是在需要存储图片、文档等二进制文件的情况下。...
以上就是使用Java操作Oracle数据库中CLOB和BLOB数据的基本方法。在实际应用中,你可能需要考虑事务管理、错误处理、性能优化等因素。记住,始终关闭数据库连接和流资源,以防止资源泄漏。同时,对于大型对象,处理时...
在探讨如何在PB(PowerBuilder)环境中从数据库读取BLOB数据并利用Word进行处理之前,我们先简要回顾一下BLOB(Binary Large Object)的基本概念。BLOB是一种用于存储大量二进制数据的数据类型,如图像、音频、视频...