의존성 (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 파일을 다운로드한 뒤 프로젝트에 추가합니다.
의존성이 중요한 이유
- DBMS별로 드라이버가 다르기 때문
- JDBC는 데이터베이스와 독립적인 표준 인터페이스를 제공하지만, 실제 DBMS와의 통신은 드라이버에 의존합니다.
- 각 DBMS(MySQL, Oracle, PostgreSQL 등)는 자체 JDBC 드라이버를 제공합니다.
- 유지보수 및 확장성
- 드라이버 버전을 변경하거나 다른 DBMS로 전환하려면 의존성을 교체해야 합니다.
- 빌드 도구를 사용하면 이러한 작업이 훨씬 간단해집니다.
- 코드 간소화
- 의존성 관리 도구(Maven/Gradle)를 사용하면, 개발자가 수동으로 .jar 파일을 추가하거나 관리할 필요가 없습니다.
요약
- JDBC에서 의존성(Dependency)은 JDBC 드라이버와 데이터베이스 연결 정보를 의미합니다.
- 의존성을 제대로 관리하지 않으면 프로그램이 실행되지 않거나 유지보수가 어려워질 수 있습니다.
- Maven/Gradle과 같은 빌드 도구를 활용하거나 DI를 사용하여 의존성을 효율적으로 관리하는 것이 중요합니다.
출처
OpenAI의 ChatGPT (https://openai.com)
'DB > JDBC' 카테고리의 다른 글
JDBC (Java Database Connectivity) (0) | 2025.01.09 |
---|