반응형
package ch20;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionExample {
public static void main(String[] args) {
//1. dbms와의 연결 객체 얻기(singleton)
Connection conn = null;
try {
//2. jdbc 드라이버 로딩 // 문자열로 주어진 JDBC
// jar 파일을 받으면 이 경로에 파일이 있는데 그 드라이버의 메타정보를 가져옴,
Class.forName("oracle.jdbc.OracleDriver");
//3. 연결객체 인스턴스 생성
String url="jdbc:oracle:thin:@localhost:1521:xe";
String user="java";
String password="oracle";
//
conn = DriverManager.getConnection(url, user, password);
System.out.println("연결 성공");
} catch(Exception e) {
System.out.println(e.getMessage());
} finally {
try {
conn.close();
System.out.println("연결 끊기");
} catch (SQLException e) {
e.printStackTrace();
}
}
/* DriverManager.getConnection("연결 문자열", "사용자", "비밀번호"); */
}
}
Class.forName("oracle.jdbc.OracleDriver")
이 코드는 jdbc 드라이버를 로딩 코드이다

DB와 연결하기위해서는 oracle 에서 자바와 연결할수있게 도와주는 jar 라는 파일이 있는데
그 안에 OracleDriver 를 가져와야 한다
Class 클래스는 클래스들의 정보(클래스의 필드, 메서드, 클래스의 종류(인터페이스 등))를 담는 메타 클래스이고 JVM은 이 Class 클래스를 통해 클래스들에 대한 정보를 로드 합니다.
JVM에게 해당 클래스의 정보가 로딩된다는 것은 JVM이 할당하는 메모리 (클래스 영역)에 로드되고 그 때 위의DriverManager에 해당 드라이버가 레지스터 되는 것입니다.
따라서 DriverManager는 이 정보를 가지고 getConnection을 할 수 있는 것이죠.
반응형
'[자바]' 카테고리의 다른 글
| [JDBC] 이클립스 데이터베이스 연결(1) 계정 만들고 이클립스와 연결시키기 - CodeRecorder (0) | 2022.11.02 |
|---|---|
| [JDBC] 1. JDBC (Java Database Connectivity) 정리 - CodeRecorder (0) | 2022.11.01 |
| [Java] 용어정리 - 계속 업데이트 해 나갈것임 (0) | 2022.10.27 |
| [Java] 자바 사용자 정의 예외 (Exception) 정리 및 예제코드 - CodeRecorder (0) | 2022.10.18 |
| [Java] 자바 예외 떠넘기기 ! throws Exception 정리 및 예제코드 - CodeRecorder (0) | 2022.10.18 |
댓글