Oracle 데이터베이스와 Java 연동하기: JDBC 사용법

 

1. Oracle 데이터베이스와 Java: JDBC 소개

JDBC(Java Database Connectibity)
JDBC(Java Database Connectibity)

 

Oracle 데이터베이스와 Java 애플리케이션의 연동은 주로 JDBC(Java Database Connectivity) API를 통해 이루어집니다. JDBC는 자바 애플리케이션에서 데이터베이스 작업을 할 수 있도록 하는 일련의 프로그래밍 인터페이스를 제공합니다. JDBC를 사용하면, SQL 명령을 실행하고 데이터베이스에서 데이터를 조회, 삽입, 업데이트, 삭제하는 등의 작업을 할 수 있습니다. Oracle JDBC 드라이버는 Oracle 데이터베이스와의 통신을 위해 특별히 최적화되어 있으며, 고성능과 안정성을 제공합니다.

 

2. JDBC 드라이버 설정과 연결

Oracle 데이터베이스와의 연동을 시작하기 위해서는 먼저 적절한 JDBC 드라이버를 설정해야 합니다. Oracle JDBC 드라이버는 Oracle 공식 웹사이트에서 다운로드할 수 있으며, ojdbc8.jar와 같은 라이브러리 파일을 프로젝트의 클래스패스에 추가해야 합니다. 드라이버를 설정한 후에는 DriverManager 클래스를 사용하여 데이터베이스에 연결할 수 있습니다. 연결을 위해서는 데이터베이스 URL, 사용자 이름, 비밀번호가 필요하며, 이 정보를 사용하여 Connection 객체를 생성합니다.

String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "w55ng"; //DB username
String password = "password"; //DB password

Connection conn = DriverManager.getConnection(url, user, password);

 

3. SQL 명령 실행과 데이터 처리

데이터베이스 연결이 성공적으로 이루어지면, SQL 명령을 실행하기 위한 Statement 또는 PreparedStatement 객체를 생성할 수 있습니다. Statement 객체는 정적 SQL 명령을 실행하는 데 사용되며, PreparedStatement는 동적인 파라미터를 포함한 SQL 명령을 실행하는 데 적합합니다. 이러한 객체를 통해 SQL 명령을 데이터베이스에 전송하고, ResultSet 객체를 통해 조회 결과를 받을 수 있습니다. 결과 처리는 일반적으로 반복문을 사용하여 각 행을 순회하면서 필요한 데이터를 추출하는 방식으로 이루어집니다.

PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM TB_USER WHERE USERNAME = ?");
pstmt.setInt(1, 10);
ResultSet rs = pstmt.executeQuery();

while(rs.next()) {
    String name = rs.getString("name"); // 쿼리 조회 결과
    int salary = rs.getInt("salary"); // 쿼리 조회 결과
    // 데이터 처리
}

 

4. JDBC를 통한 트랜잭션 관리

JDBC API는 데이터베이스 트랜잭션을 관리할 수 있는 기능도 제공합니다. Connection 객체를 통해 트랜잭션의 시작과 종료를 명시적으로 제어할 수 있으며, 이를 통해 데이터의 일관성과 무결성을 보장할 수 있습니다. conn.setAutoCommit(false) 메소드를 호출하여 자동 커밋 기능을 비활성화한 후, SQL 명령을 실행합니다. 모든 명령이 성공적으로 수행되면 conn.commit()을 호출하여 트랜잭션을 커밋하고, 문제가 발생하면 conn.rollback()을 호출하여 변경사항을 롤백할 수 있습니다.

try {
    conn.setAutoCommit(false);
    // 여러 SQL 명령 실행
    conn.commit();
} catch (SQLException e) {
    conn.rollback();
}

 

Oracle 데이터베이스와 Java의 연동은 JDBC API를 통해 간단하고 효율적으로 수행할 수 있습니다. JDBC 드라이버 설정부터 데이터베이스 연결, SQL 명령의 실행, 트랜잭션 관리에 이르기까지, JDBC는 데이터베이스 관련 작업을 위한 강력하고 유연한 수단을 제공합니다. 이러한 과정을 통해 Java 애플리케이션에서 Oracle 데이터베이스를 효과적으로 사용할 수 있으며, 데이터 기반의 다양한 기능과 서비스를 구현할 수 있습니다.