Home Jdbc Insert Image into Mysql Database through Simple Java Code


Share on Google+Share on Google+

Insert Image into Mysql Database through Simple Java Code

This is detailed simple java code that how save image into mysql database. Before running this java code you need to create data base and table to save image in same database.

Insert Image into Mysql Database through Simple Java Code


This is detailed simple java code that how save image into mysql database. Before running this java code you need to create data base and table to save image in same database. In the example given below we have used database 'mahendra' and table 'save_image'.

Structure of table 'save_image'

First create database named 'mahendra' by query given below:

mysql> create database mahendra;

and create table by query given below:

CREATE TABLE save_image (             
              id int(5) NOT NULL auto_increment,  
              name varchar(25) default NULL,      
              city varchar(20) default NULL,      
              image blob,                         
              Phone varchar(15) default NULL,     
              PRIMARY KEY  (`id`)                   

Save table 'save_image' in database 'mahendra'. Before running this java code you need mysql connector jar in the jdk1.6.0_01./lib.

SaveImageToDatabase java file provides full code for uploading image in database.


import java.sql.*;
import java.io.*;
class SaveImageToDatabase {
public static void main(String[] args) throws SQLException {
// declare a connection by using Connection interface 
Connection connection = null;
/* Create string of connection url within specified format with machine 
name, port number and database name. Here machine name id localhost 
and database name is mahendra. */
String connectionURL = "jdbc:mysql://localhost:3306/mahendra";
/*declare a resultSet that works as a table resulted by execute a specified 
sql query. */
ResultSet rs = null;
// Declare prepare statement.
PreparedStatement psmnt = null;
// declare FileInputStream object to store binary stream of given image.
FileInputStream fis;
try {
// Load JDBC driver "com.mysql.jdbc.Driver"
/* Create a connection by using getConnection() method that takes 
parameters of string type connection url, user name and password to 
connect to database. */
connection = DriverManager.getConnection(connectionURL, "root", "root");
// create a file object for image by specifying full path of image as parameter.
File image = new File("C:/image.jpg");
/* prepareStatement() is used for create statement object that is 
used for sending sql statements to the specified database. */
psmnt = connection.prepareStatement
("insert into save_image(name, city, image, Phone) "+ "values(?,?,?,?)");
fis = new FileInputStream(image);
psmnt.setBinaryStream(3, (InputStream)fis, (int)(image.length()));
/* executeUpdate() method execute specified sql query. Here this query 
insert data and image from specified address. */ 
int s = psmnt.executeUpdate();
if(s>0) {
System.out.println("Uploaded successfully !");
else {
System.out.println("unsucessfull to upload image.");
// catch if found any exception during rum time.
catch (Exception ex) {
System.out.println("Found some error : "+ex);
finally {
// close all the connections.

Output of the program:

Download Source Code


If you enjoyed this post then why not add us on Google+? Add us to your Circles

Liked it!  Share this Tutorial

Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: July 28, 2008

Related Tutorials

Ask Questions?    Discuss: Insert Image into Mysql Database through Simple Java Code   View All Comments

Post your Comment

Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
Jinay Mehta
September 17, 2011
upload image in database using j\sp

i want it.
January 11, 2012
image db

pls give the details about how to retrieve the images from database...im new to the language and me and my friends wants to do a project where we have to store images in database...so can u please help us...is there any way to display the images stored in database as a picture gallery?
January 31, 2012

i need java code for password encrypted in the image
March 5, 2012

This method is showing the following warning : com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'binary) values('abc','19541a2746e08a6b8f5145bdbaa23e45','http:jadhjkhdf/dasdas',' at line 1
March 22, 2012

Sir,thanks a lot it helps me to fire my query
March 24, 2012

sir,how to capture image through webcam in jmf
Prabhat Jain
March 30, 2012
about image saving code

good code
August 4, 2012
java or swing

how to update image in mysql using java, please help me frnds..
November 29, 2012
insert any value in database

Anuj Dhiman
April 11, 2013
image upload in to data base

thank you so much . for your help and time
vicky vishwas
June 24, 2013

use type 4 driver
July 31, 2013

Thanx for d information. Bt i have a problem of image length. Data is too long exception
July 31, 2013

Thanx for the code. Data is too long. For image column
August 2, 2014

Please, how can I upload the same image to a MySQL database running on a remote server?