본문 바로가기
IT/자바 Java

자바와 PostgreSQL 연결하기 . 데이터베이스 연동 기초

by SidePower 2024. 11. 26.

 

자바 애플리케이션을 데이터베이스에 연결하는 방법을 알아볼 거예요.

바로 JDBC(Java Database Connectivity)를 활용해 데이터베이스와 소통하는 프로그램을 만들 거랍니다.

실습으로는 간단한 주소록 관리 프로그램을 구현해 볼 거예요.

 

JDBC란?

JDBC(Java Database Connectivity)는

자바에서 데이터베이스와 연결하고 쿼리를 실행할 수 있는 표준 API입니다.

쉽게 말해 자바 애플리케이션이 데이터베이스와 대화할 수 있는 다리예요.

이 API를 통해 데이터베이스에 접속하고,

CRUD(Create, Read, Update, Delete) 작업을 할 수 있습니다.

 

개발 환경 준비하기

  1. PostgreSQL 설치 및 실행
  2. JDBC 드라이버 다운로드
  3. IDE(이클립스 또는 IntelliJ) 준비
  4. PostgreSQL에 데이터베이스 및 테이블 생성
CREATE TABLE contacts (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100),
    phone VARCHAR(15),
    address TEXT
);

 

주소록 관리 프로그램 예제 코드

아래는 JDBC를 이용해 PostgreSQL과 연동하는 간단한 주소록 관리 프로그램입니다.

import java.sql.*;

public class AddressBook {
    // 데이터베이스 연결 정보
    private static final String URL = "jdbc:postgresql://localhost:5432/mydb";
    private static final String USER = "postgres";
    private static final String PASSWORD = "your_password";

    public static void main(String[] args) {
        // 데이터 삽입 예제
        insertContact("홍길동", "hong@gmail.com", "010-1234-5678", "서울시 강남구");

        // 데이터 조회 예제
        selectAllContacts();
    }

    // 연락처 추가
    public static void insertContact(String name, String email, String phone, String address) {
        String sql = "INSERT INTO contacts (name, email, phone, address) VALUES (?, ?, ?, ?)";
        try (Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
             PreparedStatement pstmt = conn.prepareStatement(sql)) {
            pstmt.setString(1, name);
            pstmt.setString(2, email);
            pstmt.setString(3, phone);
            pstmt.setString(4, address);
            pstmt.executeUpdate();
            System.out.println("연락처가 성공적으로 추가되었습니다.");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    // 모든 연락처 조회
    public static void selectAllContacts() {
        String sql = "SELECT * FROM contacts";
        try (Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery(sql)) {
            while (rs.next()) {
                System.out.println("ID: " + rs.getInt("id") + 
                                   ", 이름: " + rs.getString("name") + 
                                   ", 이메일: " + rs.getString("email") + 
                                   ", 전화번호: " + rs.getString("phone") + 
                                   ", 주소: " + rs.getString("address"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

 

코드 설명

  1. 데이터베이스 연결 설정
    • Connection 객체를 통해 PostgreSQL에 연결합니다.
    • URL은 jdbc:postgresql://localhost:5432/mydb 형식으로 사용됩니다.
  2. PreparedStatement 사용
    • SQL 인젝션 공격을 방지하기 위해 PreparedStatement를 사용했습니다.
  3. try-with-resources 문법
    • 자바 7 이상에서는 try-with-resources를 통해 자동으로 자원을 해제합니다.
  4. CRUD 구현
    • insertContact() 메서드는 연락처 정보를 삽입합니다.
    • selectAllContacts() 메서드는 데이터베이스에 저장된 모든 연락처를 조회합니다.

 

JDBC는 자바 애플리케이션과 데이터베이스를 연결하는 필수 기술이에요.

오늘 실습한 주소록 관리 프로그램처럼 다양한 프로그램에 활용할 수 있습니다.

반응형

댓글