Apache Derby 데이터베이스에 연결

5127 단어 tutorialjavadatabase
로컬 Windows 시스템에서 Apache Derby를 설정하고 Java 코드로 연결하여 데이터를 쓰고 읽을 수 있는 간단한 예를 보여 드리겠습니다. 가벼운 관계형 데이터베이스 관리 시스템입니다.

Windows 측 구성 및 단계
다운로드할 수 있습니다here. 압축된 바이너리 패키지 중 하나를 선택합니다. 그 후에는 압축을 풀어야 합니다. DERBY_HOME이라는 새 환경 변수를 Derby bin 배포가 있는 압축을 푼 폴더로 설정해야 합니다.

set  DERBY_HOME=c:\Derby

DERBY_HOME 환경 변수가 설정되고 PATH 환경 변수에도 포함되면 Derby 도구를 사용하기 위해 단축 명령을 사용할 수 있습니다.
서버를 시작하려면/bin/startNetworkServer.bat 파일을 실행해야 합니다. 그러면 명령 프롬프트 창이 열립니다. 이것을 닫으면 서버가 중지됩니다. 기본적으로 포트 번호 1527에서 실행됩니다.

자바 사이드 스텝
새 Maven 프로젝트를 만들고 pom.xml 파일에 다음 종속성을 추가합니다. MVNrepository 에서 최신 버전을 확인할 수 있습니다.

<dependency>  
 <groupId>org.apache.derby</groupId>  
 <artifactId>derby</artifactId>  
 <version>10.15.2.0</version>  
</dependency>  
<dependency>  
 <groupId>org.apache.derby</groupId>  
 <artifactId>derbyclient</artifactId>  
 <version>10.15.2.0</version>  
</dependency>  
<dependency>  
 <groupId>org.apache.derby</groupId>  
 <artifactId>derbytools</artifactId>  
 <version>10.15.2.0</version>  
</dependency>  
<dependency>  
 <groupId>org.apache.derby</groupId>  
 <artifactId>derbynet</artifactId>  
 <version>10.15.2.0</version>  
</dependency>

새 클래스를 만들고 연결 문자열로 연결을 초기화합니다.

Connection connect = DriverManager.getConnection("jdbc:derby://localhost:1527/testdb" + System.currentTimeMillis() + ";create=true");
System.currentTimeMillis() 메서드를 사용하여 실행할 때마다 다른 이름의 데이터베이스를 만듭니다.
그런 다음 필요한 SQL 쿼리를 작성하고 이를 String 개체에 저장해야 합니다.

String query = "CREATE TABLE EmployeeData( "  
  + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "  
  + "Name VARCHAR(255), "  
  + "Salary INT NOT NULL, "  
  + "Location VARCHAR(255), "  
  + "PRIMARY KEY (Id))";

이들은 Statements 로 실행됩니다.
데이터베이스 연결을 설정하고 데이터베이스, 테이블을 생성하고 데이터를 가져오는 데 필요한 전체 코드도 확인할 수 있습니다.

import java.sql.*;  

public class HandleDBExample {  
    public static void main(String args[]) throws Exception {  
        try {  
            Class.forName("org.apache.derby.jdbc.ClientDriver");  
            Connection connect = DriverManager.getConnection("jdbc:derby://localhost:1527/testdb" + System.currentTimeMillis() + ";create=true");  
            Statement stmt = connect.createStatement();  

            System.out.println("Database info: " + connect.getMetaData().getURL() + " " + connect.getMetaData().getDatabaseProductName());  

            String query = "CREATE TABLE EmployeeData( "  
            + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "  
            + "Name VARCHAR(255), "  
            + "Salary INT NOT NULL, "  
            + "Location VARCHAR(255), "  
            + "PRIMARY KEY (Id))";  

            stmt.execute(query);  
            System.out.println("Table created");  

            query = "INSERT INTO EmployeeData("  
            + "Name, Salary, Location) VALUES "  
            + "('Amit', 30000, 'Hyderabad'), "  
            + "('Kalyan', 40000, 'Vishakhapatnam'), "  
            + "('Renuka', 50000, 'Delhi'), "  
            + "('Archana', 15000, 'Mumbai'), "  
            + "('Trupthi', 45000, 'Kochin'), "  
            + "('Suchatra', 33000, 'Pune'), "  
            + "('Rahul', 39000, 'Lucknow'), "  
            + "('Trupthi', 45000, 'Kochin')";  

            stmt.execute(query);  
            System.out.println("Values inserted");  

            ResultSet rs = stmt.executeQuery("Select * from EmployeeData");  
            System.out.println("Contents of the table EmployeeData table:");  
            while(rs.next()) {  
                  System.out.print("ID: "+rs.getInt("ID")+", ");  
                  System.out.print("Name: "+rs.getString("Name")+", ");  
                  System.out.print("Salary: "+rs.getInt("Salary")+", ");  
                  System.out.print("Location: "+rs.getString("Location"));  
                  System.out.println();  
           }  
           connect.close();  
      } catch (Exception e) {  
            throw e;  
      }  
    }  
}

좋은 웹페이지 즐겨찾기