English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JDBC PreparedStatement 객체 예제

다음은 예제로, PreparedStatement과 문장을 열고 닫는 예제입니다:
이 예제 코드는 전几张 장의 환경과 데이터베이스 설정에 따라 작성되었습니다.

다음 예제를 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;
   PreparedStatement stmt = null;
   try{
      //단계2: JDBC 드라이버 등록
      Class.forName("com.mysql.jdbc.Driver");
      //단계3연결 열기
      System.out.println("데이터베이스에 연결 중..."
      conn = DriverManager.getConnection(DB_URL,USER,PASS);
      //단계4쿼리 실행
      System.out.println("스테이션 생성 중..."
      String sql = "UPDATE Employees set age=? WHERE id=?";
      stmt = conn.prepareStatement(sql);
      
      //값을 매개변수에 바인딩합니다.
      stmt.setInt(1, 35);  // 나이 설정
      stmt.setInt(2, 102); // ID 설정
      
      //ID=으로 선택하겠습니다102연령을 기록으로 업데이트합니다
      int rows = stmt.executeUpdate();
      System.out.println("영향을 받은 행 수: " + 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);
         System.out.print(", 첫 번째: " + first);
         System.out.println(", 마지막: " + 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){
      }// nothing we can do
      try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }//end finally try
   }//end try
   System.out.println("Goodbye!");
   }//end main
}//end JDBCExample

이제 위의 예제를 다음과 같이 컴파일해 보겠습니다:

C:\>javac FirstExample.java
C:\>

당신이 FirstExample을 실행할 때, 그것은 다음과 같은 결과를 생성합니다-

C:\>java FirstExample
Connecting to database...
Creating statement...
ID: 10, Age: 18, First: Zara, Last: Ali
ID: 101, Age: 25, First: Mahnaz, Last: Fatma
ID: 102, Age: 3, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
C:\>