[an error occurred while processing this directive]

Get Blob

                         

Blob is known as 'binary large object', is a collection of binary data stored as a single entity in a database management system and can hold variable amount of data. Here in the example shown below we will learn how to retrieve image from mysql database which is saved as large binary object. 


Description of the code:
   1.
First create connection to the database from where you want to retrieve image saved as blob.
   2. Create a mysql query to retrieve image value from table column.
   3. Retrieves the value of the designated column in the current row of this ResultSet object as a Blob object by using getBlob() method. 
   4. Write data on standard output device.

Table Structure:

CREATE TABLE pictures ( image_id
 int(10) NOT NULL auto_increment,
image blob
)

Here is the code of GetBlob.java

import java.io.*;
import java.sql.*;

class GetBlob {
FileOutputStream image;
Connection con = null;
PreparedStatement pstmt = null;
Statement stmt= null;
ResultSet res = null;
StringBuffer query=null;
String driverName = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/";;
String dbName = "register";
String userName = "root";
String password = "root";

public GetBlob(){
try{
Class.forName(driverName);
con = DriverManager.getConnection(url+dbName,userName,password);
stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from picture where image_id='3'");
if (rs.next()) {
Blob test=rs.getBlob("image");
InputStream x=test.getBinaryStream();
int size=x.available();
OutputStream out=new FileOutputStream("C:\\anu.jpg");
byte b[]= new byte[size];
x.read(b);
out.write(b);
}
}
catch(Exception e){
System.out.println("Exception :"+e);
}
finally{
try{
stmt.close();
con.close();
}
catch(Exception e){
System.out.println(e);
}
}
}
public static void main(String args[]) throws IOException{
GetBlob blob = new GetBlob();
}
}


Image retrieved from the database:

Download Source Code

 

                         

[an error occurred while processing this directive]