Java JDBC Connection to PostgreSQL Example

A JDBC example to show you how to connect to a PostgreSQL database with a JDBC driver.

Learn a complete JDBC tutorial at https://www.javaguides.net/p/jdbc-tutorial.html.

Download PostgreSQL JDBC Driver

Visit http://jdbc.postgresql.org/download.html to download the latest PostgreSQL JDBC Driver.

Maven

The PostgreSQL JDBC driver is available in the Maven central repository.
<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.2.5</version> </dependency>

JDBC Connection to PostgreSQL Example

import java.math.BigDecimal; import java.time.LocalDateTime; import java.sql.*; import java.util.ArrayList; import java.util.List; public class JDBCExample2 { public static void main(String[] args) { List < Employee > result = new ArrayList < > (); String SQL_SELECT = "Select * from EMPLOYEE"; // auto close connection and preparedStatement try (Connection conn = DriverManager.getConnection( "jdbc:postgresql://127.0.0.1:5432/test", "postgres", "password"); PreparedStatement preparedStatement = conn.prepareStatement(SQL_SELECT)) { ResultSet resultSet = preparedStatement.executeQuery(); while (resultSet.next()) { long id = resultSet.getLong("ID"); String name = resultSet.getString("NAME"); BigDecimal salary = resultSet.getBigDecimal("SALARY"); Timestamp createdDate = resultSet.getTimestamp("CREATED_DATE"); Employee obj = new Employee(); obj.setId(id); obj.setName(name); obj.setSalary(salary); // Timestamp -> LocalDateTime obj.setCreatedDate(createdDate.toLocalDateTime()); result.add(obj); } result.forEach(x - > System.out.println(x)); } catch (SQLException e) { System.err.format("SQL State: %s\n%s", e.getSQLState(), e.getMessage()); } catch (Exception e) { e.printStackTrace(); } } } class Employee { private Long id; private String name; private BigDecimal salary; private LocalDateTime createdDate; //... }
Table definition.
CREATE TABLE EMPLOYEE ( ID serial, NAME varchar(100) NOT NULL, SALARY numeric(15, 2) NOT NULL, CREATED_DATE timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP PRIMARY KEY (ID) );

References



Comments