PreparedStatement provides the facility to store and retrieve the images in the database using JDBC.
PreparedStatement methods to retrieve image:
public Blob getBlob(int columnIndex) throws SQLException
Example:
JDBCTest.java
import java.io.FileOutputStream; import java.sql.Blob; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import com.w3schools.util.JDBCUtil; /** * This class is used to retrieve a image from DB. * @author w3schools */ public class JDBCTest { public static void main(String args[]){ Connection conn = null; PreparedStatement preparedStatement = null; String query = "select * from IMAGESTORE " + "where IMAGE_ID = 1"; try{ //get connection conn = JDBCUtil.getConnection(); //create preparedStatement preparedStatement = conn.prepareStatement(query); //execute query ResultSet resultSet = preparedStatement.executeQuery(); resultSet.next(); Blob clob = resultSet.getBlob(2); byte[] byteArr = clob.getBytes(1,(int)clob.length()); FileOutputStream fileOutputStream = new FileOutputStream("F:\\savedImage.jpg"); fileOutputStream.write(byteArr); System.out.println("Image retrieved successfully."); //close connection fileOutputStream.close(); preparedStatement.close(); conn.close(); }catch(Exception e){ e.printStackTrace(); } } } |
JDBCUtil.java
import java.sql.Connection; import java.sql.DriverManager; /** * This is a utility class for JDBC connection. * @author w3schools */ public class JDBCUtil { //JDBC and database properties. private static final String DB_DRIVER = "oracle.jdbc.driver.OracleDriver"; private static final String DB_URL = "jdbc:oracle:thin:@localhost:1521:XE"; private static final String DB_USERNAME = "system"; private static final String DB_PASSWORD = "oracle"; public static Connection getConnection(){ Connection conn = null; try{ //Register the JDBC driver Class.forName(DB_DRIVER); //Open the connection conn = DriverManager. getConnection(DB_URL, DB_USERNAME, DB_PASSWORD); if(conn != null){ System.out.println("Successfully connected."); }else{ System.out.println("Failed to connect."); } }catch(Exception e){ e.printStackTrace(); } return conn; } } |
Output:
Successfully connected.
Image retrieved successfully. |
Download this example.
Next Topic: JDBC ResultSetMetaData interface.
Previous Topic: JDBC store image example.
Related Topics: