how to insert image into mysql database using java Netbeans with source code

This tutorial guide to insert image into mysql database using java project (JFrame). in next tutorial show you, how to display image using java code from MySQL database. Please note that I used LONG BLOB that can handle up to 2,048 KiB of data.

Do you need help to remotely set up my any project on your machine or customize any project with your requirement please contact  syntech1994@gmail.com

Follow these steps to insert image into mysql database

Step 01 Open New java project

Step 02 Create Database

Should create a database and a table to store the images. The image store field of the table should be LONG BLOB data type.

Step 03 creates a database connection with java project

Database Connections of insert image into mysql database project

package image;
import java.sql.Connection;
import java.sql.DriverManager;

public class DBConnect {   
     public static Connection connect()
    {
     Connection con=null;
        try {
            Class.forName("com.mysql.jdbc.Driver");                                con=DriverManager.getConnection("jdbc:mysql://localhost:3306/yourDatabaseNameHere?","DatabaseUserNameHere","DatabasePasswordHere");   
 } 
catch (Exception e) 
    {
        System.out.println("inter.DBConnect.connect()");
    }
   return con;
}    

Add “MySQL.jdbc.Driver” to the project library.

If you need more information to connect Netbeans with Mysql database please watch this video

Step 04 Add new JFrame to project

Add a label and two buttons to JFrame

Source code for insert image into mysql database

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import java.awt.Image;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class Main extends javax.swing.JFrame {
   private ImageIcon format=null;
   String fname=null;
   int s=0;
   byte[] pimage=null;
   Connection conn=null;
   public Main() {
    initComponents();
    conn=DBConnect.connect();
} 
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

  // using this code you can brows image and image set to lable

        JFileChooser fchoser=new JFileChooser();
        fchoser.showOpenDialog(null);
        File f=fchoser.getSelectedFile();
        fname=f.getAbsolutePath();
        ImageIcon micon=new ImageIcon(fname);        
        try {
            File image=new File(fname);
            FileInputStream fis=new FileInputStream(image);
            ByteArrayOutputStream baos=new ByteArrayOutputStream();
            byte[] buf=new byte[1024];
            for(int readnum; (readnum=fis.read(buf)) !=-1;)
            {            
                baos.write(buf,0,readnum);                
            }
            pimage=baos.toByteArray();
            lableVeriableName.setIcon(resizeImage(fname, buf));
        } catch (Exception e) {
        }       
    }

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
      // This code use to insert image to database
        String id=txtid.getText(); 
        try {
             String q= "INSERT INTO `img`(`id`, `image`) VALUES (?,?)";               
               PreparedStatement pst=conn.prepareStatement(q);                
                pst.setString(1, id);
                pst.setBytes(2, pimage);                
                pst.execute(); 
        } catch (Exception e) {
        }
        
        
    }
// This code use to resize image to fit lable
public ImageIcon resizeImage(String imagePath, byte[] pic){
          
        ImageIcon myImage=null;
        if(imagePath !=null)
        {
        myImage=new ImageIcon(imagePath);
        
        }else{
         myImage=new ImageIcon(pic);
        }
                
        Image img=myImage.getImage();
        Image img2=img.getScaledInstance(lblimage.getHeight(),    lblimage.getWidth(),  Image.SCALE_SMOOTH);
        ImageIcon image=new ImageIcon(img2);
        return image;
    } 

Check more projects>>

Be the first to comment

Leave a Reply

Your email address will not be published.


*