자바와 PostgreSQL 연결하는 방법 (with 이클립스)
자바에서는 JDBC 를 이용하여 Database 와 통신을 할 수 있습니다.
이 JDBC 는 벤더사 별로 지원하고 있고, PostgreSQL 또한 JDBC 를 이용하여 자바와 통신할 수 있도록 제공합니다.
이클립스에서 이 PostgreSQL 전용 JDBC jar 파일을 등록하여 PostgreSQL 과 연동해보도록 하겠습니다.
1. JDBC Driver for PostgreSQL 다운로드
jdbc.postgresql.org/download.html
사용하시는 자바와 PostgreSQL 버전에 맞는 jar 파일을 다운로드 해야 합니다.
JDBC 42.2.20 버전의 경우에는 PostgreSQL 8.2 이상 그리고 Java 6 이상의 버전이 필요합니다.
사용하는 자바버전을 확인하는 방법은 다음과 같습니다.
사용하는 PostgreSQL 버전을 확인하는 방법은 다음과 같습니다.
2. 이클립스에 다운로드한 jar 파일등록
프로젝트 우클릭 후 Build Path - Configure Build Path 를 클릭합니다.
Libraries 탭에서 Add External JARs 를 클릭합니다.
다운로드받은 jar 파일을 등록해 줍니다.
프로젝트에 postgresql-jdbc 라이브러리가 추가되었습니다.
3. 연동 테스트 코드 작성하기
JDBC 연결 전에는 Postgre JDBC 를 사용하겠다는 class.forName 을 먼저 등록해주어야 합니다.
이후 PostgreSQL 에 접속하는 connection URL 을 작성 후, DriverManager 를 통해 연결해 줍니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class PostgreSQL {
public static void main(String[] args) throws ClassNotFoundException {
Class.forName("org.postgresql.Driver");
String connurl = "jdbc:postgresql://192.168.56.101:5432/postgres";
String user = "postgres";
String password = "postgres";
try (Connection connection = DriverManager.getConnection(connurl, user, password);) {
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT VERSION() AS version");
while (rs.next()) {
String version = rs.getString("version");
System.out.println(version);
}
rs.close();
stmt.close();
connection.close();
}
catch (SQLException e) {
e.printStackTrace();
}
}
}
|
cs |
기타
postgresql.conf 파일에서 listener_address 주소를 관리합니다.
postgresql.conf 파일에 listener_address 를 변경해 주도록 합니다.
PostgreSQL 은 pg_hba.conf 파일을 통해서 접속이 가능한 IP Address 와 peer 방법등을 관리합니다.
listner_address 가 설정되었더라도, pg_hba.conf 파일에 설정이 안되어 있으면 오류가 발생합니다.
아래와 같은 오류가 발생하면 pg_hba.conf 파일을 확인해 주세요.
'Computer Language > JAVA' 카테고리의 다른 글
[JAVA] 자바 재귀호출과 팩토리얼 함수 (0) | 2021.05.07 |
---|---|
[JAVA] 자바 암시적 타입변환과 명시적 타입변환 (0) | 2021.05.07 |
[JAVA] 자바와 SQL Server JDBC 연동방법 (0) | 2021.04.13 |
[JAVA] 자바 인터페이스와 추상클래스 차이 (0) | 2021.04.01 |
[JAVA] 자바 일반클래스와 추상클래스의 상속 차이 (1) | 2021.03.31 |