看一下代码就清楚啦,没有什么废话:
package org.mmc.dao.impl;
import java.io.*;
import java.sql.*;
/**
*测试操作blob数据
*/
public class BlobTest
{
Connection con=null;
/**
*往数据库中添加BLOB数据
*/
public void addBlob()
{
try
{
//创建一个PreparedStatement实例
PreparedStatement pstmt=con.prepareStatement("insert into blobtest values(1,?)");
File file = new File("d:\\other\\apple.gif") ;
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
{
con.createStatement().execute("create table blobtest (id int ,pic blob,"+
"constraint pk_blobtest primary key(id));");
}
catch(Exception e)
{
e.printStackTrace();
}
}
/**
*从数据库中读取BLOB数据
*/
public void getBlob()
{
try
{
//创建一个Statement实例
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from blobtest where id=1");
rst.next();
//获得blob数据和它的输入流,然后通过输入流把数据写到文件中。
Blob blob = rst.getBlob("pic") ;
FileOutputStream out=new FileOutputStream(new File("d:/other/apple1.gif"));
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("com.mysql.jdbc.Driver").newInstance();
BlobTest test=new BlobTest();
test.con=java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/demo","root","12345");
test.createTable();
test.addBlob();
test.getBlob();
}
}
分享到:
相关推荐
BlobTest OpenCv是一个基于OpenCV库开发的图像处理程序,专门用于对图像中的Blob(Binary Large Object)进行分析。Blob在计算机视觉中通常指的是图像中的连通区域,比如颜色或亮度相似的像素集合。这个程序是用...
在SQLServer数据库中,存取任意文件...这在数据管理中非常实用,尤其是当需要在数据库中保存大量的非结构化数据时。理解并掌握这些技术,能够帮助开发者更高效地管理和处理文件存储,提升应用程序的功能性和用户体验。
本实例“SQL Server 数据库存取任意文件实例1”将重点讲解如何利用SQL Server来存储和检索非结构化的二进制大对象(Binary Large Object,简称BLOB)数据,如图片、文档等。下面我们将详细探讨相关的知识点。 首先...
- 使用 XML 格式定义了 Blobtest 类与数据库表 blobtest 的映射关系。 - 定义了 id 字段作为主键,images 字段作为 Blob 类型,以及 name 字段作为 String 类型。 ```xml <class name="hibernate.Blobtest" ...
在SQL Server中,可以使用T-SQL语句创建名为`BLOBTest3`的数据库和名为`BLOBFromWeb`的表,其中`BLOBData`列使用`VARBINARY(MAX)`数据类型,这种类型能够存储任意大小的二进制数据,非常适合存放图片文件。...
这些技术对于处理大量的二进制数据非常有用,特别是在需要存储和检索图像、音频或视频文件的情况下。需要注意的是,在实际应用中还需要考虑异常处理、资源释放等问题,以确保程序的健壮性和稳定性。
在提供的文件中,《Struts2、Spring和Hibernate应用实例.doc》可能是详细讲解如何整合和使用这三个框架的实战教程,可能涵盖了创建项目、配置环境、编写Action、设置Spring的IoC和AOP、使用Hibernate进行数据操作等...
- **数据库结构**:建立数据库`BLOBTest4`,并创建表`FileInfo`,包含字段`TheName`和`DirPath`,分别用于存储文件名和文件目录路径。 #### 5. 管理与维护 - **事务控制**:确保在进行图片相关操作时,如更新或删除...
在BlobTest.java和BlobRead.java这两个文件中,很可能包含了具体的示例代码,通过阅读这些代码,你可以更深入地了解这些概念的实际应用。学习并理解这些操作对于处理文本和二进制数据至关重要,特别是在涉及数据库...
public class BLOBTest { public static void main(String[] args) { String url = "jdbc:sqlserver://localhost:1433;databaseName=myDatabase"; String username = "myUsername"; String password = ...