English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 장에서는 JDBC 애플리케이션을 사용하여 테이블에서 레코드를 선택하는 예제를 제공합니다. WHERE 문장을 사용하여 추가 조건을 추가합니다. 다음 예제를 실행하기 전에 다음 조건을 확인하십시오:
다음 예제를 실행하려면 다음을 복사하고 붙여넣어야 합니다사용자 이름와비밀번호실제 사용자 이름과 비밀번호로 대체하세요
MySQL이나 사용 중인 데이터베이스가 시작되고 실행 중입니다
JDBC 애플리케이션을 사용하여 새 데이터베이스를 생성하려면 다음 단계를 수행해야 합니다-
패키지 가져오기:데이터베이스 프로그래밍에 필요한 JDBC 클래스를 포함하는 패키지를 포함해야 합니다. 일반적으로 import java.sql.* 이만해도 충분합니다
JDBC 드라이버를 등록합니다: 드라이버를 초기화하여 데이터베이스와의 통신 채널을 열 수 있도록 합니다
연결 설정:사용해야 합니다 DriverManager.getConnection() 메서드를 사용하여 Connection 객체를 생성합니다. 이 객체는 데이터베이스 서버와의 물리적 연결을 나타냅니다.
쿼리 실행:SQL 문장을 구성하고 제출하여 테이블에서 주어진 조건을 만족하는 레코드를 가져오기 위해 Statement 타입의 객체를 사용해야 합니다. 이 쿼리는 다음WHERE조건을 만족하는 레코드를 선택하는 문장
환경 정리: 모든 데이터베이스 자원을 명시적으로 닫아야 하며 JVM의 가비지 수집에 의존하지 않습니다
다음 예제를 JDBCExample.java에 복사하고 붙여넣어, 다음과 같이 컴파일하고 실행하세요-
//步骤1.필요한 소프트웨어 패키지를 가져옵니다 import java.sql.*; public class JDBCExample { // JDBC 드라이버 이름과 데이터베이스 URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/STUDENTS"; // 데이터베이스 인증 정보 static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ //步骤2:JDBC 드라이버를 등록합니다 Class.forName("com.mysql.jdbc.Driver"); //步骤3:建立连接 System.out.println("Connecting to a selected database..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); System.out.println("Connected database successfully..."); //步骤4:执行查询 System.out.println("Creating statement..."); stmt = conn.createStatement(); // 无条件提取记录。 System.out.println("Fetching records without condition..."); String sql = "SELECT id, first, last, age FROM Registration"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ //按列名检索 int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); //显示值 System.out.print("ID: " + id); System.out.print(", Age: " + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); } // 选择所有ID等于或大于101的记录 System.out.println("Fetching records with condition..."); sql = "SELECT id, first, last, age FROM Registration"; + " WHERE id >= 101 "; rs = stmt.executeQuery(sql); while(rs.next()){ //按列名检索 int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); //显示值 System.out.print("ID: " + id); System.out.print(", Age: " + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); } rs.close(); }catch(SQLException se){ //处理JDBC错误 se.printStackTrace(); catch(Exception e){ //Class.forName 오류 처리 e.printStackTrace(); }finally{ //자원을 닫는 데 사용됨 try{ if(stmt!=null) conn.close(); }catch(SQLException se){ }// 달라요 try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } System.out.println("안녕히 가세요!"); } }//JDBCExample 종료
이제, 위의 예제를 다음과 같이 컴파일해 보겠습니다:
C:\>javac JDBCExample.java C:\>
실행 시간JDBCExample그럼, 다음과 같은 결과가 생성됩니다:-
C:\>java JDBCExample 선택된 데이터베이스에 연결 중... 데이터베이스 연결 성공! 문장 생성 중... 조건 없이 레코드 가져오는 중... ID: 100, Age: 30, First: Zara, Last: Ali ID: 102, Age: 30, First: Zaid, Last: Khan ID: 103, Age: 28, First: Sumit, Last: Mittal 조건에 따라 레코드 가져오는 중... ID: 102, Age: 30, First: Zaid, Last: Khan ID: 103, Age: 28, First: Sumit, Last: Mittal 안녕히 가세요! C:\>