Java JDBC example - connect to a Postgres database

I don't know if this Java/JDBC sample program will help anyone, but I thought I’d share it here. It’s a variation of a program I use to connect to a JDBC database (in this case a Postgresql database) whenever I need to look at some information. In this particular case I wrote the program because I didn’t have access to the psql command-line tool, so I created this Java program, compiled it, and ran it to see what I wanted to see.

As Java programs go, this example is pretty simple. It connects to the Postgres database, performs a SQL SELECT query, puts the results in a List, then prints the contents of the list. If for some reason the program can’t connect to the database it will die, otherwise it goes forward:

package foo;

import java.sql.*;
import java.util.*;

public class TestPrintBlogs
{
  class Blog
  {
    public int id;
    public String subject;
    public String permalink;
  }

  public static void main(String[] args)
  {
    new TestPrintBlogs();
  }

  public TestPrintBlogs() 
  {
    Connection conn = null;
    LinkedList listOfBlogs = new LinkedList();

    // connect to the database
    conn = connectToDatabaseOrDie();

    // get the data
    populateListOfTopics(conn, listOfBlogs);
    
    // print the results
    printTopics(listOfBlogs);
  }
  
  private void printTopics(LinkedList listOfBlogs)
  {
    Iterator it = listOfBlogs.iterator();
    while (it.hasNext())
    {
      Blog blog = (Blog)it.next();
      System.out.println("id: " + blog.id + ", subject: " + blog.subject);
    }
  }

  private void populateListOfTopics(Connection conn, LinkedList listOfBlogs)
  {
    try 
    {
      Statement st = conn.createStatement();
      ResultSet rs = st.executeQuery("SELECT id, subject, permalink FROM blogs ORDER BY id");
      while ( rs.next() )
      {
        Blog blog = new Blog();
        blog.id        = rs.getInt    ("id");
        blog.subject   = rs.getString ("subject");
        blog.permalink = rs.getString ("permalink");
        listOfBlogs.add(blog);
      }
      rs.close();
      st.close();
    }
    catch (SQLException se) {
      System.err.println("Threw a SQLException creating the list of blogs.");
      System.err.println(se.getMessage());
    }
  }

  private Connection connectToDatabaseOrDie()
  {
    Connection conn = null;
    try
    {
      Class.forName("org.postgresql.Driver");
      String url = "jdbc:postgresql://THE_HOST/THE_DATABASE";
      conn = DriverManager.getConnection(url,"THE_USER", "THE_PASSWORD");
    }
    catch (ClassNotFoundException e)
    {
      e.printStackTrace();
      System.exit(1);
    }
    catch (SQLException e)
    {
      e.printStackTrace();
      System.exit(2);
    }
    return conn;
  }

}

Share it!

There’s just one person behind this website; if this article was helpful (or interesting), I’d appreciate it if you’d share it. Thanks, Al.

Add new comment

The content of this field is kept private and will not be shown publicly.

Anonymous format

  • Allowed HTML tags: <em> <strong> <cite> <code> <ul type> <ol start type> <li> <pre>
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.