데이터베이스에 액세스하는 Java 프로그램을 작성하려면 몇 가지 중요한 클래스와 인터페이스도 필요합니다.
DriverManager 클래스
DriverManager 클래스는 드라이버 로드 및 새 데이터베이스 연결 설정을 처리합니다. DriverManager는 데이터베이스 드라이버를 관리하는 데 사용되는 java.sql 패키지의 클래스입니다. 일반적으로 애플리케이션은 데이터베이스와의 연결을 설정하고 Connection 객체를 반환하기 위해 DriverManager 클래스의 getConnection() 정적 메서드만 사용합니다.
정적 연결 getConnection(문자열 URL, 문자열 사용자 이름, 문자열 비밀번호)
데이터베이스 연결 개체를 생성하려면 데이터의 URL 사용자 이름과 비밀번호를 지정하세요. URL의 구문 형식은 다음과 같습니다.
jdbc:<데이터베이스 연결 메커니즘>:<ODBC 데이터베이스 이름>.
연결 클래스
Connection 클래스는 특정 데이터베이스에 대한 연결을 처리하는 java.sql 패키지의 클래스입니다. Connection 객체는 데이터베이스 연결을 나타내는 데 사용되는 객체입니다. Java 프로그램은 이러한 종류의 객체를 대상으로 작동합니다. Connection 클래스의 주요 메소드는 다음과 같습니다.
명령문 클래스
명령문 클래스는 지정된 연결에서 SQL 문을 처리하는 데 사용되는 java.sql 패키지의 클래스입니다. 데이터베이스 프로그래밍의 핵심은 프로그램에 SQL 명령을 포함시키는 것입니다. 프로그램은 데이터베이스에 연결하기 위해 연결 개체를 선언하고 생성해야 하며 개체가 데이터베이스에 연결되도록 해야 합니다. 프로그램을 데이터베이스에 연결하기 위한 Connection 객체를 얻기 위해 DriverManager 클래스의 정적 메소드 getConnection()을 호출합니다. 그런 다음 Statement 클래스를 사용하여 SQL 문 개체를 선언하고 Connection 개체의 createStatement() 메서드를 호출하여 SQL 문 개체를 생성합니다. 예를 들어, 다음 코드는 명령문 개체 sql을 생성합니다.
명령문 sql = null; try{ sql = con.createStatement() }catch(SQLException e){}
결과세트 클래스
SQL 문 개체가 있으면 문 개체의 excuteQuery() 메서드를 호출하여 SQL 쿼리를 실행하고 쿼리 결과를 ResultSet 클래스로 선언된 개체에 저장합니다. 예를 들어 다음 코드는 학생 점수 테이블을 읽고 저장합니다. rs 개체에 있습니다.
ResultSet rs = sql.executeQuery("SELECT * FROM ksInfo");
ResultSet 객체는 실제로 쿼리 결과 데이터를 포함하는 테이블이며, 통일된 형태의 데이터 행으로 구성된 관형 데이터 세트이며, 하나의 행은 하나의 쿼리 레코드에 해당합니다. ResultSet 객체에는 커서가 암시되어 있습니다. 커서가 현재 가리키는 데이터 행만 한 번에 가져올 수 있습니다. 데이터 행의 필드(열) 이름이나 위치 인덱스(1부터 시작)를 사용하여 getXXX() 메서드를 호출하여 레코드의 필드 필드를 가져옵니다. 다음은 ResultSet 개체의 몇 가지 메서드입니다.
위 메소드의 columnIndex는 필드를 지정하는 데 사용되는 위치 인덱스이고, columnName은 필드 이름입니다.
사용자는 쿼리 결과 집합을 탐색하거나 앞뒤로 이동하거나 결과 집합의 지정된 레코드를 표시해야 합니다. 이를 스크롤 가능한 결과 집합이라고 합니다. 스크롤 가능한 결과 세트를 얻으려면 프로그램은 SQL 문 개체를 얻을 때 지정된 결과 세트의 두 매개변수만 추가하면 됩니다. 예를 들어 다음 코드는 다음과 같습니다.
명령문 stmt = con.createStatement(type,concurrency); ResultSet rs = stmt.executeQuery(SQL 문)
명령문 객체 stmt의 SQL 쿼리는 해당 유형의 결과 집합을 얻을 수 있습니다.
int 유형 매개변수 유형은 스크롤 가능 세트의 스크롤 방법을 결정합니다.
int 유형 매개변수 동시성은 데이터베이스가 스크롤 가능 세트와 동기적으로 업데이트되는지 여부를 결정합니다.
예를 들어, 다음 코드는 연결 개체 연결을 사용하여 명령문 개체 stmt를 만들고, 결과 집합을 스크롤할 수 있도록 지정하고, 읽기 전용 모드에서 데이터베이스를 읽습니다.
stmt = connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
스크롤 가능한 세트에 일반적으로 사용되는 다른 방법은 다음과 같습니다.