[java] Apache Derby를 사용하여 데이터베이스를 어떻게 생성하고 관리할 수 있나요?

Derby 데이터베이스 생성

먼저 Derby 데이터베이스를 생성하는 방법부터 알아보겠습니다. Derby는 내장형 모드와 서버 모드로 사용할 수 있습니다.

내장형 모드에서 데이터베이스 생성

  1. Derby JAR 파일을 다운로드하고 Java 프로젝트의 라이브러리에 추가합니다.
  2. 다음과 같은 코드를 사용하여 데이터베이스를 생성합니다.
import java.sql.*;

public class CreateDatabase {
    public static void main(String[] args) {
        try {
            // 데이터베이스 연결
            Connection conn = DriverManager.getConnection("jdbc:derby:myDB;create=true");

            // 데이터베이스 생성 SQL 문 실행
            Statement stmt = conn.createStatement();
            stmt.executeUpdate("CREATE TABLE myTable (id INT, name VARCHAR(255))");

            // 연결 종료
            stmt.close();
            conn.close();
            
            System.out.println("데이터베이스가 성공적으로 생성되었습니다.");
        } catch (SQLException e) {
            System.err.println("데이터베이스 생성 중 오류가 발생하였습니다.");
            e.printStackTrace();
        }
    }
}

Derby Network Server에서 데이터베이스 생성

  1. Derby JAR 파일을 다운로드하고 Java 프로젝트의 라이브러리에 추가합니다.
  2. Derby Network Server를 시작합니다.
$ cd {DERBY_HOME}/bin
$ startNetworkServer
  1. 다음과 같은 코드를 사용하여 데이터베이스를 생성합니다.
import java.sql.*;

public class CreateDatabase {
    public static void main(String[] args) {
        try {
            // 데이터베이스 연결
            Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/myDB;create=true");

            // 데이터베이스 생성 SQL 문 실행
            Statement stmt = conn.createStatement();
            stmt.executeUpdate("CREATE TABLE myTable (id INT, name VARCHAR(255))");

            // 연결 종료
            stmt.close();
            conn.close();
            
            System.out.println("데이터베이스가 성공적으로 생성되었습니다.");
        } catch (SQLException e) {
            System.err.println("데이터베이스 생성 중 오류가 발생하였습니다.");
            e.printStackTrace();
        }
    }
}

데이터베이스 관리

데이터베이스를 생성한 후에는 기본적인 관리 작업을 수행할 수 있습니다.

데이터 삽입

다음 코드를 사용하여 데이터를 삽입할 수 있습니다.

try {
    Connection conn = DriverManager.getConnection("jdbc:derby:myDB");
    Statement stmt = conn.createStatement();
    stmt.executeUpdate("INSERT INTO myTable VALUES (1, 'John')");
    
    stmt.close();
    conn.close();
    
    System.out.println("데이터가 성공적으로 삽입되었습니다.");
} catch (SQLException e) {
    System.err.println("데이터 삽입 중 오류가 발생하였습니다.");
    e.printStackTrace();
}

데이터 조회

다음 코드를 사용하여 데이터를 조회할 수 있습니다.

try {
    Connection conn = DriverManager.getConnection("jdbc:derby:myDB");
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT * FROM myTable");
    
    while (rs.next()) {
        int id = rs.getInt("id");
        String name = rs.getString("name");
        System.out.println("ID: " + id + ", Name: " + name);
    }
    
    rs.close();
    stmt.close();
    conn.close();
} catch (SQLException e) {
    System.err.println("데이터 조회 중 오류가 발생하였습니다.");
    e.printStackTrace();
}

데이터 업데이트

다음 코드를 사용하여 데이터를 업데이트할 수 있습니다.

try {
    Connection conn = DriverManager.getConnection("jdbc:derby:myDB");
    Statement stmt = conn.createStatement();
    stmt.executeUpdate("UPDATE myTable SET name = 'Jane' WHERE id = 1");
    
    stmt.close();
    conn.close();
    
    System.out.println("데이터가 성공적으로 업데이트되었습니다.");
} catch (SQLException e) {
    System.err.println("데이터 업데이트 중 오류가 발생하였습니다.");
    e.printStackTrace();
}

데이터 삭제

다음 코드를 사용하여 데이터를 삭제할 수 있습니다.

try {
    Connection conn = DriverManager.getConnection("jdbc:derby:myDB");
    Statement stmt = conn.createStatement();
    stmt.executeUpdate("DELETE FROM myTable WHERE id = 1");
    
    stmt.close();
    conn.close();
    
    System.out.println("데이터가 성공적으로 삭제되었습니다.");
} catch (SQLException e) {
    System.err.println("데이터 삭제 중 오류가 발생하였습니다.");
    e.printStackTrace();
}

이렇게 Apache Derby를 사용하여 데이터베이스를 생성하고 관리할 수 있습니다. Derby는 Java 프로그램과의 통합이 용이하며, 경량형이기 때문에 특히 데스크톱 및 모바일 애플리케이션에 적합합니다. Derby에 대한 자세한 정보는 Apache Derby 공식 웹사이트를 참조하시기 바랍니다.