Skip to main content

How to retrieve images from database by using JDBC?


How to retrieve images from database table by using the JDBC table? To know about this topic follow the below lines,

          For downloading images from database table we no need to create any databases or tables, but we should know the which table and which column contains the images to retrieve. Once you know the table and column to retrieve images, here is the program to retrieve the images from database table.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.javatbrains.jdbc;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 *
 * @author SUBBU
 *
 */

public class DownloadImages {
     static String URL = "jdbc:mysql://localhost:3306/jbdc";
     static String userName = "root";
     static String password = "root";
     public static void main(String[] args) {
          try {
              // Loading the JDBC Driver
              Class.forName("org.gjt.mm.mysql.Driver");
             
               // Creating JDBC Connection
              Connection con = DriverManager.getConnection(
                        URL, userName, password);
             
            // Create a Statement by using Connection instance
              Statement st = con.createStatement();
             
               // Executing Query by using Statement instance
              ResultSet rs = st.executeQuery("select image from images");
              int i = 0;
              while (rs.next()) {
                   InputStream in = rs.getBinaryStream(1);
                   OutputStream f = new FileOutputStream(new File("E:/mis_images/test" + i + ".png"));
                   i++;
                   int c = 0;
                   while ((c = in.read()) > -1) {
                        f.write(c);
                   }
                   f.close();
                   in.close();
              }
          } catch (ClassNotFoundException e) {
              e.printStackTrace();
          } catch (SQLException e) {
              e.printStackTrace();
          } catch (FileNotFoundException e) {
              e.printStackTrace();
          } catch (IOException e) {
              e.printStackTrace();
          }
     }
}

          The previous class DownloadImages represents how to download images by using JDBC. First, few steps are common in any of the JDBC program, those steps are loading the driver by using Class.forName() method, creating connection by using DriverManager.getConnection() method.

          The previous post InsertingImages after creating connection we used PreparedStatement for inserting images into database table. But, in this example we are using Statement to download images from table.

          After executing the query, capture result into ResultSet which is present in java.sql package. DownloadImages program rs.getBinaryStream(1) will retrieve each time a single image. By using the FileOutputStream images are getting saved into specified path.

          Currently we are saving images into '.png' format. If you want any other format like .jpg..etc of the standard images formats you can download by passing that specified extension type in File().


Comments

Popular posts from this blog

JNDI configuration for Tomcat 9 with Oracle

In this article, I am going to place the required source code to get data from the table by using the JNDI configuration. Below are the environment details that I have configured currently. Windows - 7 Oracle - 10g Tomcat - 9 JDK - 8 Eclipse Oxygen Ojdbc6 jar required First, we need to create the Dynamic Web Project. If you don't know how to do <Click Here>. I have faced a lot of issues before getting the output like 405, No driver class to load, etc. I am using JSP & Servlets in the current explanation. Before started writing the application logic, we need to do the below configuration in the installed tomcat directory. Place OJDBC6.jar in the Tomcat LIB directory. Add this Resource under <GlobalNamingResources> in Server.xml file which is present under the conf directory in Tomcat. < Resource name = "jdbc/myoracle" global= "jdbc/myoracle" auth = "Container" type= "javax.sql.DataSource" driverClass...

Prime, Fibonacci and Factorial number with example in java

Prime number, Fibonacci series and Factorial number programs are most commonly asked questions in interview. Read this article to know what is and how to write programs for prime number, fibonacci series and factorial number. Prime Number: prime number is natural number greater than 1 that has no positive divisor other than 1 and itself. A natural number greater than 1 is not a prime number, is called Composite number . For example, 7 is a prime number. Because it can divide with 1 and 7 only. Where as 8 is composite number. Since it has the divisor 2 and 4 in addition to the 1 and 8. The below example represents the finding the passing number is prime number or not. If the passing number is prime number it will print true otherwise it will print false. package com . javatbrains . practice ; public class PrimeNumber { public boolean isPrimeNumber ( int number ) { if ( number <= 1 ) return false ; // There's only one ...

JVM, JRE and JDK in Java

JVM, JRE and JDK are the most basic common concepts to know in java. These are the basic features to understand how Java architecture works? JVM stands for Java Virtual Machine, which doesn't have any physical directories created in java installation. JRE stands for Java Runtime Environment, which creates the directory under Java installation path and also present in JDK. JDK stands for Java Development Kit, which creates the directory in Java installation path and also it has it's own JRE. Since we have already learn that Java is platform independent means if we have implemented any of the java class in one environment, it will be executed in any other environment and provides the same output. But, JVM, JRE and JDK all are platform dependent . So that, for windows, linux, unix, mac, solaris..etc has it's own JVM, JRE and JDK. One will be not compatible with other environments. While installing the Java, we might come to know a bit about JRE and JDK. But, JVM is the other...