[java] Apache Derby를 사용하여 데이터베이스에서 특정 조건을 만족하는 데이터를 검색하는 방법에 대해 알려주세요.

Apache Derby는 경량 데이터베이스 관리 시스템으로, Java 애플리케이션에서 사용할 수 있습니다. 이 글에서는 Apache Derby를 사용하여 데이터베이스에서 특정 조건을 만족하는 데이터를 검색하는 방법에 대해 알려드리겠습니다.

1. Derby 데이터베이스에 연결하기

먼저 Java 코드에서 Derby 데이터베이스에 연결하기 위해 JDBC 드라이버를 사용해야 합니다. 다음 코드 예제는 Derby 데이터베이스에 연결하는 방법을 보여줍니다.

import java.sql.*;

public class Main {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        
        try {
            // JDBC 드라이버 로드
            Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
            
            // 데이터베이스에 연결
            conn = DriverManager.getConnection("jdbc:derby:/path/to/database;create=true");
            
            // SQL 문 실행을 위한 Statement 객체 생성
            stmt = conn.createStatement();
            
            // 여기서부터 데이터 검색을 위한 코드 작성
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (stmt != null) stmt.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

2. 데이터 검색

데이터베이스에서 특정 조건을 만족하는 데이터를 검색하기 위해 SQL SELECT 문을 사용합니다. SQL 문은 테이블 이름과 WHERE 절에 조건을 지정하여 데이터를 필터링하는데 사용됩니다. 다음은 Derby에서 데이터를 검색하는 간단한 예제입니다.

ResultSet rs = stmt.executeQuery("SELECT * FROM my_table WHERE column_name = 'value'");

위의 코드에서 my_table은 검색할 테이블의 이름이며, column_name은 검색할 데이터의 조건이 되는 열 이름입니다. 'value'는 특정 값을 가진 데이터를 검색하는 예제입니다.

3. 검색된 데이터 처리하기

검색된 데이터는 ResultSet 객체에 저장됩니다. ResultSet 객체를 이용하여 데이터를 가져오는 예제를 보겠습니다.

while (rs.next()) {
    // 검색 결과 데이터 가져오기
    int id = rs.getInt("id");
    String name = rs.getString("name");
    
    // 데이터 처리 로직 작성
}

위의 코드에서 idname은 각각 검색 결과 테이블의 열 이름입니다. ResultSet 객체의 getIntgetString 메서드를 사용하여 검색된 데이터를 가져올 수 있습니다.

4. 자원 해제하기

모든 데이터베이스 작업이 끝난 후에는 연결을 해제해야 합니다. 위의 미리 작성한 코드에서는 finally 블록 내에서 StatementConnection 객체를 닫는 방법을 보여줍니다.

try {
    if (stmt != null) stmt.close();
    if (conn != null) conn.close();
} catch (SQLException e) {
    e.printStackTrace();
}

이렇게 하면 Apache Derby를 사용하여 데이터베이스에서 특정 조건을 만족하는 데이터를 검색할 수 있습니다. 자세한 내용은 Apache Derby Documentation을 참조하십시오.