DB/JDBC

JDBC 의존성 (Dependency)

annovation 2025. 1. 11. 10:03

의존성 (Dependency)

의존성이란, 한 객체나 모듈이 다른 객체나 모듈에 의존하는 관계를 의미합니다.
즉, 어떤 코드가 다른 코드(또는 라이브러리)가 없으면 동작할 수 없는 상태를 나타냅니다.


JDBC 의존성

JDBC를 사용하는 애플리케이션은 데이터베이스와 연결하기 위해 JDBC 드라이버에 의존합니다.

  • JDBC 드라이버는 애플리케이션과 특정 DBMS(MySQL, Oracle, PostgreSQL 등) 간의 통신을 담당합니다.
  • JDBC 드라이버 없이 JDBC 코드가 작동할 수 없습니다.
  • ex. MySQL 데이터베이스를 사용할 때는 mysql-connector-java 드라이버를 추가해야 합니다.

예시

1.  MySQL JDBC 드라이버 의존성

 

(1) 의존성 추가 (Maven 사용)

  • Maven 프로젝트에서 MySQL 드라이버를 의존성으로 추가
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.32</version>
</dependency>

 

(2) JDBC 코드 작성

import java.sql.*;

public class JdbcExample {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/mydb";
        String username = "root";
        String password = "password";

        try {
            // 1. JDBC 드라이버 로드
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 2. 데이터베이스 연결
            Connection connection = DriverManager.getConnection(url, username, password);
            System.out.println("Connected to the database!");

            // 3. SQL 실행
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery("SELECT * FROM users");

            // 4. 결과 처리
            while (resultSet.next()) {
                System.out.println("User: " + resultSet.getString("name"));
            }

            // 5. 연결 종료
            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

2. JDBC 의존성을 관리하는 방법

 

(1) Maven/Gradle과 같은 빌드 도구 활용

  • Maven이나 Gradle을 사용하면 필요한 JDBC 드라이버 의존성을 자동으로 다운로드하고 관리할 수 있습니다.

(2) Maven 예시

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.32</version>
</dependency>

 

(3) Gradle 예시

dependencies {
    implementation 'mysql:mysql-connector-java:8.0.32'
}

 

(4) 수동으로 의존성 추가

 

Maven/Gradle을 사용하지 않는 경우, 해당 JDBC 드라이버의 .jar 파일을 다운로드한 뒤 프로젝트에 추가합니다.


의존성이 중요한 이유

  1. DBMS별로 드라이버가 다르기 때문
    • JDBC는 데이터베이스와 독립적인 표준 인터페이스를 제공하지만, 실제 DBMS와의 통신은 드라이버에 의존합니다.
    • 각 DBMS(MySQL, Oracle, PostgreSQL 등)는 자체 JDBC 드라이버를 제공합니다.
  2. 유지보수 및 확장성
    • 드라이버 버전을 변경하거나 다른 DBMS로 전환하려면 의존성을 교체해야 합니다.
    • 빌드 도구를 사용하면 이러한 작업이 훨씬 간단해집니다.
  3. 코드 간소화
    • 의존성 관리 도구(Maven/Gradle)를 사용하면, 개발자가 수동으로 .jar 파일을 추가하거나 관리할 필요가 없습니다.

요약

  • JDBC에서 의존성(Dependency)은 JDBC 드라이버와 데이터베이스 연결 정보를 의미합니다.
  • 의존성을 제대로 관리하지 않으면 프로그램이 실행되지 않거나 유지보수가 어려워질 수 있습니다.
  • Maven/Gradle과 같은 빌드 도구를 활용하거나 DI를 사용하여 의존성을 효율적으로 관리하는 것이 중요합니다.

출처

OpenAI ChatGPT (https://openai.com)

'DB > JDBC' 카테고리의 다른 글

JDBC (Java Database Connectivity)  (0) 2025.01.09