English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
다음은 이 세 개의 쿼리와 open 및 close 문을 사용한 예제입니다.-
boolean execute(String SQL):결과 집합 객체를 검색할 수 있는 경우 true를 반환하며, 그렇지 않으면 false를 반환합니다. SQL DDL 문을 실행하거나 실제 동적 SQL을 사용할 때 이 메서드를 사용합니다.
int executeUpdate(String SQL):SQL 문이 실행될 때 영향을 받은 행 수를 반환합니다. INSERT, UPDATE 또는 DELETE 문과 같이 영향을 받은 행 수를 얻고자 할 때 이 메서드를 사용합니다.
ResultSet executeQuery(String SQL):ResultSet 객체를 반환합니다. 결과 집합을 얻고자 할 때, 이 메서드를 사용하면 SELECT 문과 마찬가지입니다.
이 예제 코드는 몇 챕터 전의 환경과 데이터베이스 설정에 따라 작성되었습니다.
다음 예제를 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/EMP"; // 데이터베이스 인증 정보 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 database..."); conn = DriverManager.getConnection(DB_URL,USER,PASS); //단계4: 쿼리 실행 System.out.println("Creating statement..."); stmt = conn.createStatement(); String sql = "UPDATE Employees set age=30 WHERE id=103"; // 이게 실제 결과 집합을 반환하는지 확인하겠습니다. Boolean ret = stmt.execute(sql); System.out.println("Return value is : " + ret.toString() ); // ID = 103의 연령을 업데이트하겠습니다; int rows = stmt.executeUpdate(sql); System.out.println("Rows impacted : " + rows ); // 모든 레코드를 선택하고 표시하겠습니다. sql = "SELECT id, first, last, age FROM Employees"; ResultSet rs = stmt.executeQuery(sql); //단계5: 결과 집합에서 데이터 추출 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); } //단계6: 환경 정리 rs.close(); stmt.close(); conn.close(); }catch(SQLException se){ //JDBC 오류 처리 se.printStackTrace(); catch(Exception e){ //Class.forName의 오류 처리 e.printStackTrace(); }finally{}} //자원을 닫는 데 사용됨 try{ if(stmt!=null) stmt.close(); }2){ } try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } System.out.println("안녕히 가세요!"); }//main 종료 }//JDBCExample 종료
지금 위의 예제를 컴파일해 보겠습니다:
C:\>javac JDBCExample.java C:\>
실행 중JDBCExample이렇게 결과가 생성됩니다:-
C:\>java JDBCExample 데이터베이스에 연결 중... 문장 생성... 반환 값은 : false 영향을 받은 행: 1 ID: 100, Age: 18, First: Zara, Last: Ali ID: 101, Age: 25, First: Mahnaz, Last: Fatma ID: 102, Age: 30, First: Zaid, Last: Khan ID: 103, Age: 30, First: Sumit, Last: Mittal 안녕히 가세요! C:\>