Read from a Database
Updated: Feb 21, 2022
This example shows you how to read a database table in Java using the JdbcReader class.
This example can easily be modified to show how to write to a database.
Database Input
Thedp_credit_balance
database table is used as input.
Java Code Listing
package com.northconcepts.datapipeline.examples.cookbook; import java.sql.Connection; import java.sql.Driver; import java.util.Properties; import org.apache.log4j.Logger; import com.northconcepts.datapipeline.core.DataEndpoint; import com.northconcepts.datapipeline.core.DataReader; import com.northconcepts.datapipeline.core.Record; import com.northconcepts.datapipeline.jdbc.JdbcReader; public class ReadFromADatabase { public static final Logger log = DataEndpoint.log; public static void main(String[] args) throws Throwable { // connect to the database Driver driver = (Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); Properties properties = new Properties(); properties.put("user", "scott"); properties.put("password", "tiger"); Connection connection = driver.connect("jdbc:odbc:dp-cookbook", properties); DataReader reader = new JdbcReader(connection, "SELECT * FROM dp_credit_balance") .setAutoCloseConnection(true); reader.open(); try { Record record; while ((record = reader.read()) != null) { log.info(record); } } finally { reader.close(); } } }
Code Walkthrough
- A JDBC Driver is created and a Connection is obtained to the database from which the data is to be read, this is standard JDBC code.
- A JdbcReader is created using the
using the Connection object and the query string to query the database i.e.
SELECT * FROM dp_credit_balance
. - The JdbcReader.setAutoCloseConnection method is invoked to automatically close the Connection.
- The reader is opened via reader.open method.
- A while loop iterates through the input data.
- Each record is read as a Record object and printed to the console via the Datapipeline logger.
- After the while loop completes, the reader.close method is invoked in a finally block to close the JdbcReader.
JdbcReader
JdbcReader is an input reader that is used to read from a database. It is
created using Connection object, query string and/or other object parameters.
It is a sub-class of DataReader and overrides the
open,
close,
read among other methods in order to handle database access.
An important method is the setAutoCloseConnection
which when invoked with a true
value instructs the JdbcReader to close the
Connection when its close
method is invoked.
Console Output
The output of this code is the contents of the dp_credit_balance
table displayed on the standard console.