jdbc:postgresql:database
jdbc:postgresql://host/database
jdbc:postgresql://host:port/database
jdbc:postgresql://host:port/database?param1=value1¶m2=value2&…
Where:
- Connect to the database ProductDB on localhost:
jdbc:postgresql:ProductDB
- Connect to a remote PostgreSQL server on the host dbserver:
jdbc:postgresql:dbserver:ProductDB
- Using host name and port number explicitly:
jdbc:postgresql:dbserver:5432:ProductDB
- Specify user name and password for the connection:
jdbc:postgresql:ProductDB&user=root&password=secret
See all connection parameters specific to PosgreSQL.
Class.forName("org.postgresql.Driver");Or:
DriverManager.registerDriver(new org.postgresql.Driver());However, since JDBC 4.0 (JDK 6.0 and later), the registration is not required. The JDBC driver manager can detect and load the appropriate driver when it is parsing the database URL.To establish a connection, call the method getConnection() of the DriverManager class and supply database URL and connection parameters. We can choose one in three versions of this method:
- Version #1: getConnection(String url). For example:
String dbURL = "jdbc:postgresql:ProductDB?user=root&password=secret"; Connection conn = DriverManager.getConnection(dbURL);- Version #2: getConnection(String url, String user, String pass). For example:
String dbURL = "jdbc:postgresql://localhost/ProductDB"; String user = "root"; String pass = "secret"; Connection conn = DriverManager.getConnection(dbURL, user, pass);- Version #3: getConnection(String url, Properties parameters). For example:
String dbURL = "jdbc:postgresql://localhost:5432/ProductDB"; Properties parameters = new Properties(); parameters.put("user", "root"); parameters.put("password", "secret"); Connection conn = DriverManager.getConnection(dbURL, parameters);
package net.codejava.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; /** * This program demonstrates how to make database connection to PostgreSQL * server using JDBC. * @author www.codejava.net * */ public class JdbcPostgresqlConnection { public static void main(String[] args) { // create three connections to three different databases on localhost Connection conn1 = null; Connection conn2 = null; Connection conn3 = null; try { // Connect method #1 String dbURL1 = "jdbc:postgresql:ProductDB1?user=root&password=secret"; conn1 = DriverManager.getConnection(dbURL1); if (conn1 != null) { System.out.println("Connected to database #1"); } // Connect method #2 String dbURL2 = "jdbc:postgresql://localhost/ProductDB2"; String user = "root"; String pass = "secret"; conn2 = DriverManager.getConnection(dbURL2, user, pass); if (conn2 != null) { System.out.println("Connected to database #2"); } // Connect method #3 String dbURL3 = "jdbc:postgresql://localhost:5432/ProductDB3"; Properties parameters = new Properties(); parameters.put("user", "root"); parameters.put("password", "secret"); conn3 = DriverManager.getConnection(dbURL3, parameters); if (conn3 != null) { System.out.println("Connected to database #3"); } } catch (SQLException ex) { ex.printStackTrace(); } finally { try { if (conn1 != null && !conn1.isClosed()) { conn1.close(); } if (conn2 != null && !conn2.isClosed()) { conn2.close(); } if (conn3 != null && !conn3.isClosed()) { conn3.close(); } } catch (SQLException ex) { ex.printStackTrace(); } } } }That's how to connect a Java program to PostgreSQL database. To see the code in action, I recommend you to watch the video below: