logo

5단계의 Java 데이터베이스 연결

  1. Java에서 데이터베이스에 연결하는 5단계
    1. 드라이버 클래스 등록
    2. 연결 개체 만들기
    3. 문 개체 만들기
    4. 쿼리 실행
    5. 연결 개체를 닫습니다.
JDBC를 사용하여 Java 애플리케이션을 데이터베이스와 연결하는 5단계가 있습니다. 이러한 단계는 다음과 같습니다.
  • Driver 클래스 등록
  • 연결 만들기
  • 명세서 작성
  • 쿼리 실행
  • 연결 닫기
Java 데이터베이스 연결 단계

1) 드라이버 클래스 등록

그만큼 이름() Class 클래스의 메소드는 드라이버 클래스를 등록하는 데 사용됩니다. 이 메서드는 드라이버 클래스를 동적으로 로드하는 데 사용됩니다.

forName() 메소드의 구문

 public static void forName(String className)throws ClassNotFoundException 

참고: JDBC 4.0부터는 드라이버를 명시적으로 등록하는 것이 선택 사항입니다. 벤더의 Jar를 클래스 경로에 넣으면 JDBC 드라이버 관리자가 드라이버를 자동으로 감지하고 로드할 수 있습니다.

OracleDriver 클래스를 등록하는 예

여기서 Java 프로그램은 데이터베이스 연결을 설정하기 위해 oracle 드라이버를 로드하고 있습니다.

 Class.forName('oracle.jdbc.driver.OracleDriver'); 

2) 연결 객체 생성

그만큼 getConnection() DriverManager 클래스의 메소드는 데이터베이스와의 연결을 설정하는 데 사용됩니다.

getConnection() 메소드의 구문

 1) public static Connection getConnection(String url)throws SQLException 2) public static Connection getConnection(String url,String name,String password) throws SQLException 

Oracle 데이터베이스와 연결을 설정하는 예

 Connection con=DriverManager.getConnection( 'jdbc:oracle:thin:@localhost:1521:xe','system','password'); 

3) 명령문 객체 생성

Connection 인터페이스의 createStatement() 메소드를 사용하여 명령문을 생성합니다. 명령문의 객체는 데이터베이스에 대한 쿼리를 실행하는 역할을 담당합니다.

createStatement() 메소드의 구문

 public Statement createStatement()throws SQLException 

명령문 객체 생성 예시

 Statement stmt=con.createStatement(); 

4) 쿼리 실행

Database에 대한 질의를 실행하기 위해 State 인터페이스의 ExecutionQuery() 메소드를 사용합니다. 이 메소드는 테이블의 모든 레코드를 가져오는 데 사용할 수 있는 ResultSet의 객체를 반환합니다.

ExecuteQuery() 메소드의 구문

 public ResultSet executeQuery(String sql)throws SQLException 

쿼리 실행 예시

 ResultSet rs=stmt.executeQuery('select * from emp'); while(rs.next()){ System.out.println(rs.getInt(1)+' '+rs.getString(2)); } 

5) 연결 개체를 닫습니다.

연결 개체 문을 닫으면 ResultSet이 자동으로 닫힙니다. Connection 인터페이스의 close() 메소드는 연결을 닫는 데 사용됩니다.

close() 메소드의 구문

 public void close()throws SQLException 

연결을 끊는 예

 con.close(); 

참고: Java 7부터 JDBC에는 try-with-resources 문을 사용하여 Connection, ResultSet 및 State 유형의 리소스를 자동으로 닫는 기능이 있습니다.

명시적인 연결 종료 단계를 방지합니다.