Insert images in database

Advertisements

JDBC databasemetadata Retrieve Image JDBC

How to Insert Images in Database JDBC

you can not Insert a picture in database directly. but you can store binary data of picture file. To insert image in database we need a column of type BLOB (Binary Large Object).

insert image in databse

Important Points

  • In Jdbc only PreparedStatement support the binary data transfer between a Java application to database.
  • Jdbc supports only gif or jpeg or png type of images to insert or read from a database.
  • To set binary data into a parameter of PreparedStatement object, you need to call setBinaryStream().

Parameters of setBinaryStream()

  • parameter index
  • fileInputStream object
  • Size of the file

Find size of Image

To find the size of an image file we need File class object for that file.

Example

File f=new File("c:/img001.gif");
int size=(int)f.length();

Note: In Java forward slash (/) is allowed but backward slash (\) is not allowed at the time of writing of path.

Example to Insert Image in database

import java.sql.*;
import java.util.*;
import java.io.*;
class PhotoInsert 
{
Connection con;
public void openCon()throws Exception
{
Class.forName("oracle.jdbc.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@rama-pc:1521:xe","system","system");
System.out.println("connection is opened");
}
public void insert()throws Exception
{
Scanner s=new Scanner(System.in);
PreparedStatement pstmt=con.prepareStatement("insert into emp_info values(?,?,?)");
System.out.println("enter emp id");
int empid=s.nextInt();
pstmt.setInt(1,empid);
System.out.println("enter emp name");
String empname=s.next();
pstmt.setString(2,empname);
System.out.println("enter photo file path");
String path=s.next();

File f=new File("c:/pho001.gif");
int size=(int) f.length();
FileInputStream fis=new FileInputStream(f);
pstmt.setBinaryStream(3,fis,size);
int i=pstmt.executeUpdate();
System.out.println(i+"row inserted");
pstmt.close();
fis.close();
}
public void closeCon()throws Exception
{
con.close();
}

public static void main(String[] args)throws Exception 
{
 PhotoInsert p1= new PhotoInsert();
 p1.openCon();
 p1.insert();
 p1.closeCon();
 }
}

JDBC databasemetadata Retrieve Image JDBC

Google Advertisment

Buy This Ad Space @$20 per Month, Ad Size 600X200 Contact on: hitesh.xc@gmail.com or 9999595223

Magenet is best Adsense Alternative here we earn $2 for single link, Here we get links ads. Magenet

For Projects 9999595223

Google Advertisements


Buy Websites 9999595223

Buy College Projects with Documentation Contact on whatsapp 9999595223. Contact on: hitesh.xc@gmail.com or 9999595223 Try this Keyword C++ Programs

Advertisements