

- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How can we retrieve file from database using JDBC?
The ResultSet interface provides the methods named getClob() and getCharacterStream() to retrieve Clob datatype, In which the contents of a file are typically stored.
These methods accept an integer representing the index of the column (or, a String value representing the name of the column) and retrieves the value at the specified column.
The difference is the getClob() method returns a Clob object and the getCgaracterStream() method returns a Reader object which holds the contents of the Clob datatype.
Example
Assume we have created a table named Articles in the database with the following description.
+---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | Article | longtext | YES | | NULL | | +---------+--------------+------+-----+---------+-------+
And, we have inserted three articles in it with names article 1, article 2 and, article 3 as shown below:
Example
Following program retrieves the contents of the table Articles using the getString() and getClob() methods and saves it in the specified files.
import java.io.FileWriter; import java.io.Reader; import java.sql.Clob; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class RetrievingFileFromDatabase { public static void main(String args[]) throws Exception { //Registering the Driver DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //Getting the connection String mysqlUrl = "jdbc:mysql://localhost/sampleDB"; Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("Connection established......"); //Creating aStatement Statement stmt = con.createStatement(); //Retrieving the data ResultSet rs = stmt.executeQuery("select * from Articles"); int j = 0; System.out.println("Contents of the table are: "); while(rs.next()) { System.out.println(rs.getString("Name")); Clob clob = rs.getClob("Article"); Reader reader = clob.getCharacterStream(); String filePath = "E:\\Data\\clob_output"+j+".txt"; FileWriter writer = new FileWriter(filePath); int i; while ((i = reader.read())!=-1) { writer.write(i); } writer.close(); System.out.println(filePath); j++; } } }
Output
Connection established...... Contents of the table are: article1 E:\Data\clob_output0.txt article2 E:\Data\clob_output1.txt article3 E:\Data\clob_output2.txt
- Related Questions & Answers
- How can we retrieve time from a table in JDBC?
- How to read/retrieve data from Database to JSON using JDBC?
- How do we insert/store a file into MySQL database using JDBC?
- How can we retrieve a blob datatype from a table using the getBinaryStream() method in JDBC?
- How to retrieve a record from an existing table in a database using JDBC API?
- How to retrieve a record from an existing table in oracle database using JDBC API?
- How to retrieve binary data from a table using JDBC?
- How to retrieve a DATALINK object from a table using JDBC?
- How to retrieve Date from a table in JDBC?
- How to retrieve data from JSON file using jQuery and Ajax?
- How to drop a table from a database using JDBC API?
- How to drop a table from Oracle database using JDBC API?
- How to get all table names from a database using JDBC?
- How to retrieve multiple ResultSets from a stored procedure using a JDBC program?
- How can we drop a MySQL view from the database?