Inserting Image into table
For inserting image, table's field (in which image will be stored) must be define as "blob".
For inserting image, table's field (in which image will be stored) must be define as "blob".
Inserting Image into table
In this section , we will insert a image into a table. For inserting image,
table's field (in which image will be stored) must be define as "blob".
First, Create table'inImage' in "mysql" as--
create table inimage(id int(5)NOT NULL auto_increment,name
varchar(30),
city varchar(30),image blob,PRIMARY KEY(id)) |
For inserting whole image, we have to create an 'InputStream' object from
this file. And through this object and "setBinaryStream() ", we pass the binary
file content to the BLOB column .
Syntax of "setBinaryStream() " --
setBinaryStream(int parameterIndex, InputStream x, int length)
--->The data will be read from the InputStream as needed for "length" bytes.
insertimage.java
import java.sql.*;
import java.io.*;
class insertimage
{
public static void main(String[] args) throws SQLException {
Connection con=null;
ResultSet rs=null;
PreparedStatement psmt=null;
FileInputStream fis;
String url="jdbc:mysql://192.168.10.13:3306/ankdb";
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
con=DriverManager.getConnection(url,"root","root");
File image=new File("C:/ankit_jdbc/Child.jpg");
psmt=con.prepareStatement("insert into inimage(name,city,image)"
+"values(?,?,?)");
psmt.setString(1,"Nitika");
psmt.setString(2,"Delhi");
fis=new FileInputStream(image);
psmt.setBinaryStream(3, (InputStream)fis, (int)(image.length()));
int s = psmt.executeUpdate();
if(s>0) {
System.out.println("Image Uploaded successfully !");
}
else {
System.out.println("unsucessfull to upload image.");
}
con.close();
psmt.close();
}catch(Exception ex){
System.out.println("Error in connection : "+ex);
}
}
}
|
output--
inimage table
CMD O/P
Download this Code