`
lighter
  • 浏览: 501082 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

非常简单的mysql的BlobTest实例

阅读更多
看一下代码就清楚啦,没有什么废话:
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();
    }
}

分享到:
评论
2 楼 yuanyuan7891 2010-06-02  
精悍,实用!
1 楼 wyyjava2008 2010-01-21  
,写的不错,简单实用!

相关推荐

    BlobTest OpenCv

    BlobTest OpenCv是一个基于OpenCV库开发的图像处理程序,专门用于对图像中的Blob(Binary Large Object)进行分析。Blob在计算机视觉中通常指的是图像中的连通区域,比如颜色或亮度相似的像素集合。这个程序是用...

    SQLServer数据库存取任意文件实例

    在SQLServer数据库中,存取任意文件...这在数据管理中非常实用,尤其是当需要在数据库中保存大量的非结构化数据时。理解并掌握这些技术,能够帮助开发者更高效地管理和处理文件存储,提升应用程序的功能性和用户体验。

    SQL Server 数据库存取任意文件实例1

    本实例“SQL Server 数据库存取任意文件实例1”将重点讲解如何利用SQL Server来存储和检索非结构化的二进制大对象(Binary Large Object,简称BLOB)数据,如图片、文档等。下面我们将详细探讨相关的知识点。 首先...

    hibernate对Blob类型字段进行数据添加.txt

    - 使用 XML 格式定义了 Blobtest 类与数据库表 blobtest 的映射关系。 - 定义了 id 字段作为主键,images 字段作为 Blob 类型,以及 name 字段作为 String 类型。 ```xml <class name="hibernate.Blobtest" ...

    MSSQL中保存图片

    在SQL Server中,可以使用T-SQL语句创建名为`BLOBTest3`的数据库和名为`BLOBFromWeb`的表,其中`BLOBData`列使用`VARBINARY(MAX)`数据类型,这种类型能够存储任意大小的二进制数据,非常适合存放图片文件。...

    oracle中读取blob字段.doc

    这些技术对于处理大量的二进制数据非常有用,特别是在需要存储和检索图像、音频或视频文件的情况下。需要注意的是,在实际应用中还需要考虑异常处理、资源释放等问题,以确保程序的健壮性和稳定性。

    ssh框架

    在提供的文件中,《Struts2、Spring和Hibernate应用实例.doc》可能是详细讲解如何整合和使用这三个框架的实战教程,可能涵盖了创建项目、配置环境、编写Action、设置Spring的IoC和AOP、使用Hibernate进行数据操作等...

    MSSQL如何保存图片

    - **数据库结构**:建立数据库`BLOBTest4`,并创建表`FileInfo`,包含字段`TheName`和`DirPath`,分别用于存储文件名和文件目录路径。 #### 5. 管理与维护 - **事务控制**:确保在进行图片相关操作时,如更新或删除...

    string与blob的写入与读出

    在BlobTest.java和BlobRead.java这两个文件中,很可能包含了具体的示例代码,通过阅读这些代码,你可以更深入地了解这些概念的实际应用。学习并理解这些操作对于处理文本和二进制数据至关重要,特别是在涉及数据库...

    java 存数据库 blob文件的示例

    public class BLOBTest { public static void main(String[] args) { String url = "jdbc:sqlserver://localhost:1433;databaseName=myDatabase"; String username = "myUsername"; String password = ...

Global site tag (gtag.js) - Google Analytics