[JDBC 프로그래밍]

Yeonbi_Kim·2024년 7월 16일
post-thumbnail

JDBC 프로그래밍 설명

JDBC(Java Database Connectivity)는 자바 프로그램이 데이터베이스와 통신할 수 있게 해주는 기술이에요. 이를 통해 자바 애플리케이션에서 데이터베이스에 접속하고 데이터를 조회하거나 수정할 수 있답니다.

JDBC는 무엇일까요?

•	JDBC는 자바 프로그램이 데이터베이스와 친구가 되게 해주는 다리예요.
•	자바 프로그램이 데이터베이스에게 “안녕, 너의 정보를 좀 볼 수 있을까?“라고 물어볼 수 있게 해주는 거예요.

핵심 인터페이스/클래스는?

•	DriverManager: “운전 기사” 역할을 하는 친구예요. 데이터베이스로 가는 길을 찾아줘요.
•	Connection: 데이터베이스와 연결된 전화선이에요. 자바 프로그램과 데이터베이스가 이 선을 통해 이야기해요.
•	Statement: 데이터베이스에게 “질문”을 하는 친구예요. 데이터베이스에게 “이 정보를 보여줘!“라고 말해요.
•	ResultSet: 데이터베이스가 “질문”에 답변을 준 결과들이 담긴 상자예요. 자바 프로그램이 이 상자를 열어 답을 확인해요.

JDBC 개발 절차

JDBC를 사용하여 데이터베이스 애플리케이션을 개발하는 절차는 다음과 같습니다. 이 절차를 따라가면서 각 단계를 설명할게요.

1. JDBC 드라이버 로드

먼저, 사용할 데이터베이스의 JDBC 드라이버를 로드해야 합니다. 이는 Class.forName 메소드를 사용하여 수행할 수 있습니다.

Class.forName("com.mysql.cj.jdbc.Driver");

-> 없으면 ClassNotFoundException 발생

2. 데이터베이스 연결

다음으로, DriverManager를 사용하여 데이터베이스와의 연결을 설정합니다. getConnection 메소드를 통해 데이터베이스 URL, 사용자 이름, 비밀번호를 전달합니다.

Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");

3. SQL 문 실행

SQL 쿼리를 실행하기 위해 Statement 객체를 생성합니다. Statement, PreparedStatement 또는 CallableStatement를 사용할 수 있습니다.

Statement statement = connection.createStatement();
String query = "SELECT * FROM mytable";
ResultSet resultSet = statement.executeQuery(query);

4. 결과 처리

ResultSet 객체를 사용하여 쿼리 결과를 처리합니다. next 메소드를 사용하여 결과 집합의 각 행을 순차적으로 처리합니다.

while (resultSet.next()) {
    int id = resultSet.getInt("id");
    String name = resultSet.getString("name");
    // 결과 처리 로직
}

5. 자원 해제

모든 작업이 완료되면, 사용한 리소스(예: ResultSet, Statement, Connection)를 닫아야 합니다. 이는 메모리 누수를 방지합니다.

resultSet.close();
statement.close();
connection.close();

종합 예제 코드

위 단계를 종합한 간단한 예제 코드는 다음과 같습니다.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JDBCDemo {
    public static void main(String[] args) {
        // 1. JDBC 드라이버 로드
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            return;
        }

        // 2. 데이터베이스 연결
        try (Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
             Statement statement = connection.createStatement()) {

            // 3. SQL 문 실행
            String query = "SELECT * FROM mytable";
            ResultSet resultSet = statement.executeQuery(query);

            // 4. 결과 처리
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                System.out.println("ID: " + id + ", Name: " + name);
            }

            // 5. 자원 해제
            resultSet.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

요약

JDBC 개발 절차는 다음과 같은 단계를 따릅니다:
1. JDBC 드라이버 로드
2. 데이터베이스 연결 설정
3. SQL 문 실행
4. 쿼리 결과 처리
5. 사용한 자원 해제

이 절차를 통해 자바 애플리케이션이 데이터베이스와 상호작용할 수 있습니다.

0개의 댓글